2017-05-12 102 views
0

我已更新到Spring Boot 1.5.3,并且作为升级的一部分,我在pom.xml中将spring-boot-starter-ws.jar更换为spring-boot-starter-web-services.jar。但我有一个传递依赖spring-ws-core.jar的问题。下面是截图Spring Boot 1.5.3传递依赖不解决

enter image description here

以下是依赖层次

enter image description here

不知道为什么它不能够找到这种依赖的类。有什么建议么?

<dependencies> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
    </dependency> 

    <!-- 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    --> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <!-- for SpringDispatcher Servlet --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
    </dependency> 

    <!-- for HttpInvoker --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
    </dependency> 

    <!-- JSP --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
    </dependency> 

    <!-- Spring Security --> 
    <!-- 
     <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     </dependency> 

     <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     </dependency> 
    --> 

    <!-- for Object Relational Mapping (JPA/Hibernate) --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
    </dependency> 

    <!-- Hibernate EntityManager for JPA (implementation) --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
    </dependency> 

    <!-- Database --> 
    <dependency> 
     <groupId>com.h2database</groupId> 
     <artifactId>h2</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.flywaydb</groupId> 
     <artifactId>flyway-core</artifactId> 
    </dependency> 

    <!-- hibernate --> 
    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.1-api</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
    </dependency> 

    <!-- CXF for REST and Webservices --> 
    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-frontend-jaxws</artifactId> 
     <exclusions> 
     <exclusion> 
      <groupId>asm</groupId> 
      <artifactId>asm</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-rs-client</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-rs-service-description</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-transports-http</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.jaxrs</groupId> 
     <artifactId>jackson-jaxrs-json-provider</artifactId> 
    </dependency> 

    <!-- Web Sockets --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-websocket</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-messaging</artifactId> 
    </dependency> 

    <!-- Tests --> 
    <dependency> 
     <groupId>org.springframework.batch</groupId> 
     <artifactId>spring-batch-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>io.oasp.java.modules</groupId> 
     <artifactId>oasp4j-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax.el</groupId> 
     <artifactId>javax.el-api</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jdbc</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.scala-lang</groupId> 
     <artifactId>scala-library</artifactId> 
     <version>2.10.4</version> 
    </dependency> 

    <!-- 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-ws</artifactId> 
    </dependency> 
    --> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web-services</artifactId> 
     <version>1.5.2.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>com.mysema.querydsl</groupId> 
     <artifactId>querydsl-apt</artifactId> 
     <version>3.4.3</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.mysema.querydsl</groupId> 
     <artifactId>querydsl-jpa</artifactId> 
     <version>3.7.1</version> 
    </dependency> 

    <dependency> 
     <groupId>org.skyscreamer</groupId> 
     <artifactId>jsonassert</artifactId> 
     <version>1.3.0</version> 
    <scope>test</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <resources> 
     <resource> 
     <directory>src/main/resources</directory> 
     <filtering>true</filtering> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <configuration> 
      <excludes> 
      <exclude>config/application.properties</exclude> 
      </excludes> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

</project> 
+0

显示你的pom.xml –

+0

我刚刚下载了'spring-ws-core-2.4.0.RELEASE.jar'文件,它包含'org/springframework/ws/server/endpoint/adapter/method/MethodReturnValueHandler .class'文件。也许你的文件被错误地下载了? – Andreas

+0

@Andreas它也存在于我的依赖关系中,但它并没有从类路径中被挑选出来。 –

回答

0

如果您的公司政策不阻止您定义<parent>那么你可以添加:

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.3.RELEASE</version> 
</parent> 

的影响将是你的POM将会有一个父spring-boot-starter-parent其中引用定义公共依赖的spring-boot-dependencies和他们的相关版本。

所以下面会自动为你添加:

 <dependency> 
      <groupId>org.springframework.ws</groupId> 
      <artifactId>spring-ws-core</artifactId> 
      <version>${spring-ws.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

其中spring-ws.version被定义为:

<properties> 
    ... 
    <spring-ws.version>2.4.0.RELEASE</spring-ws.version> 
    ... 
</properties> 

文档:可用here

如果您不允许设置<parent>,那么您可以按照these instructions