提问者:小点点

从javax迁移到jakarta ee


所以我有一个小应用程序(不运行在web容器中),它使用一些javax。*类运行在jdk8上。升级到jdk17的时候到了。所以我想,很容易,我下载了jakarta ee 9(或10)参考实现。jar文件,切换代码javax。到jakarta。*命名空间,我们就可以走了。似乎我找不到可以下载jakarta ee 9(或10)的参考实现*jar文件的地方。所以很明显我错过了一些东西。有人能指导我解决这个问题的好方法吗?


共1个答案

匿名用户

我主要使用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.激活