所以我有一个小应用程序(不运行在web容器中),它使用一些javax。*类运行在jdk8上。升级到jdk17的时候到了。所以我想,很容易,我下载了jakarta ee 9(或10)参考实现。jar文件,切换代码javax。到jakarta。*命名空间,我们就可以走了。似乎我找不到可以下载jakarta ee 9(或10)的参考实现*jar文件的地方。所以很明显我错过了一些东西。有人能指导我解决这个问题的好方法吗?
我主要使用maven来处理我的依赖项,但希望这至少有一点帮助。
对于jaxb 3. x,您可以使用以下api依赖项
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>3.0.1</version>
</dependency>
然后对于实现,您可以使用以下内容。
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>3.0.0</version>
</dependency>
如果您需要从xsd生成类,您可以使用jaxb2-maven-plugin 3.1.0。它似乎只依赖于jakarta. xml.bind-api,同时将rest作为嵌套依赖项包含在内。
<!--
by default searches schemas from src/main/xsd
and binding files from src/main/xjb
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>xjc</id>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<packageName>com.example.api</packageName>
</configuration>
</plugin>
不确定javax.激活