【发布时间】:2022-11-26 12:06:15
【问题描述】:
我正在将应用程序从 javax.servlet 更新到 jakarta.servlet。该应用程序使用了一些 net.oauth 类,这些类在 jakarta 变体中似乎不可用。较新的 OAuth 实现将需要大量的重新编码。我不太清楚哪个 OAuth(OAuth2?)可能提供最全面的功能并继续得到支持。非常感谢任何指导。
【问题讨论】:
我正在将应用程序从 javax.servlet 更新到 jakarta.servlet。该应用程序使用了一些 net.oauth 类,这些类在 jakarta 变体中似乎不可用。较新的 OAuth 实现将需要大量的重新编码。我不太清楚哪个 OAuth(OAuth2?)可能提供最全面的功能并继续得到支持。非常感谢任何指导。
【问题讨论】:
首先要做的是从 '切换依赖' 以及从 (Java EE) 到 (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 的示例)。<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开头的包都必须替换为新的雅加达前缀.所以你必须改变你的代码库的导入:
import javax.ejb.*; import javax.persistence.*; import javax.servlet.*; import javax.xml.*;进入:
import jakarta.ejb.*; import jakarta.persistence.*; import jakarta.servlet.*; import jakarta.xml.*;你可以用一个来完成这项工作外壳脚本或手动执行(对代码进行简短审查),完成重命名后,迁移的困难部分就完成了。
您可以检查过程是否顺利并确保键入:
mvn clean install一旦你完成了重命名,你的困难部分迁移完成.
如果是JSON 和 XML 支持,在您的代码库中使用
javax.json或 jaxb 实现,这通常是 junit 测试的情况。
【讨论】: