这快把我逼疯了。我们正在尝试将Java 11与Spring Boot (用于自我托管)和Apache CXF (用于代码优先的SOAP开发)结合使用。
这种组合是不可能的吗?
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.2</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>结果如下:
[ERROR] module java.xml.bind reads package javax.activation from both jakarta.activation and java.activation
[ERROR] module java.xml.soap reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module java.xml.ws reads package javax.activation from both java.activation and jakarta.activation
[ERROR] the unnamed module reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module spring.context reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module spring.boot.autoconfigure reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module spring.boot reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module java.annotation reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module java.activation reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module jakarta.activation reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module org.apache.cxf.core reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module org.apache.cxf.frontend.jaxws reads package javax.activation from both java.activation and jakarta.activation
[ERROR] module spring.beans reads package javax.activation from both java.activation and jakarta.activation我整个星期都在添加和删除依赖项。要么我以类找不到错误、模块找不到错误(对于我自己的模块)或上面的错误结束。如果我排除了jakarta.activation模块,我会得到编译错误,因为另一个模块依赖于它。
关于我可以用来让这个垃圾工作的依赖集有什么想法吗?
发布于 2021-04-01 05:03:30
我们在我们的一个项目中也使用了Spring Boot、CXF和Java 11。我们遇到了一些问题,因为当前版本的CXF仍然需要一些sun和javax依赖项。
以下是我们的工作依赖项:
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>${jakarta.version}</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${jakarta.version}</version>
</dependency>
<dependency>
<groupId>jakarta.jws</groupId>
<artifactId>jakarta.jws-api</artifactId>
<version>${jakarta.version}</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.xml.soap</groupId>
<artifactId>jakarta.xml.soap-api</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.4.0-b180830.0359</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.jws</groupId>
<artifactId>javax.jws-api</artifactId>
<version>1.1</version>
</dependency>和一些属性:
<properties>
...
<java.version>11</java.version>
<springfox.swagger.version>3.0.0</springfox.swagger.version>
<apache.cxf.version>3.3.0</apache.cxf.version>
<jakarta.version>3.0.0</jakarta.version>
...
</properties>发布于 2019-10-24 16:16:57
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.2</version>
<type>pom</type>
</dependency>https://stackoverflow.com/questions/57191209
复制相似问题