此问题来自信息安全Stack Exchange的migrated,因为它可以在2天前的Stack Overflow. Migrated上回答。我正在将一个应用程序从javax.servlet更新到jakarta.servlet。这个应用程序使用了一些net.oauth类,这些类在jakarta变体中似乎是不可用的。较新的OAuth实现将需要大量的重新编码。我不太清楚哪个OAuth(OAuth2?)可能提供最完整的功能并继续得到支持。非常感谢您的指导。
mw3dktmi1#
第一件事是从'切换相依性'开始,并将平台版本从(Java EE)切换到(Jakarta EE 9)。例如,在Maven中,您使用以下配置:
Jakarta EE 9
<dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>8.0</version> <scope>provided</scope> </dependency>
所以你只需要改变主依赖如下:
<dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>9.0.0</version> <scope>provided</scope> </dependency>
我还建议更新JDK version(Java 11中的示例更新为Jakarta EE 9)。
JDK version
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>11</source> <target>11</target> </configuration> </plugin>
现在您的项目通常不再编译,所有以javax.ejb或javax.persistence开头的包都必须用新的jakarta前缀替换。因此,您需要将代码库的导入从:
javax.ejb
javax.persistence
import javax.ejb.*; import javax.persistence.*; import javax.servlet.*; import javax.xml.*;
转换为:
import jakarta.ejb.*; import jakarta.persistence.*; import jakarta.servlet.*; import jakarta.xml.*;
使用shell脚本或手动执行此作业(对代码进行简短回顾)。您可以检查流程是否正常,以确保:
mvn clean install
完成重命名后,迁移的困难部分就完成了。在JSON & XML支持的情况下,在代码库中使用javax.json或jaxb实现,这通常是junit测试的情况。
javax.json
1条答案
按热度按时间mw3dktmi1#
第一件事是从'切换相依性'开始,并将平台版本从(Java EE)切换到(
Jakarta EE 9
)。例如,在Maven中,您使用以下配置:所以你只需要改变主依赖如下:
我还建议更新
JDK version
(Java 11中的示例更新为Jakarta EE 9)。现在您的项目通常不再编译,所有以
javax.ejb
或javax.persistence
开头的包都必须用新的jakarta前缀替换。因此,您需要将代码库的导入从:
转换为:
使用shell脚本或手动执行此作业(对代码进行简短回顾)。
您可以检查流程是否正常,以确保:
完成重命名后,迁移的困难部分就完成了。
在JSON & XML支持的情况下,在代码库中使用
javax.json
或jaxb实现,这通常是junit测试的情况。