迁移OAuth以使用Jakarta的最佳方法是什么

mrzz3bfm  于 2022-11-28  发布在  其他
关注(0)|答案(1)|浏览(142)

此问题来自信息安全Stack Exchange的migrated,因为它可以在2天前的Stack Overflow. Migrated上回答。
我正在将一个应用程序从javax.servlet更新到jakarta.servlet。这个应用程序使用了一些net.oauth类,这些类在jakarta变体中似乎是不可用的。较新的OAuth实现将需要大量的重新编码。我不太清楚哪个OAuth(OAuth2?)可能提供最完整的功能并继续得到支持。非常感谢您的指导。

mw3dktmi

mw3dktmi1#

第一件事是从'切换相依性'开始,并将平台版本从(Java EE)切换到(Jakarta EE 9)。例如,在Maven中,您使用以下配置:

<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.ejbjavax.persistence开头的包都必须用新的jakarta前缀替换。
因此,您需要将代码库的导入从:

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测试的情况。

相关问题