迁移到Jakarta EE 10 -第三方名称空间



我目前正在尝试将我们的产品从Jakarta EE 8迁移到Jakarta EE 10。根据Jakarta api的名称空间变化,我决定使用intellij Migration工具。之后,当我试图构建应用程序时,我发现了以下问题:

我们使用第三方依赖,它有类,让我们说Person。特定类的所有构造函数抛出javax.activation.MimeTypeParseException

我们有一个类Student,它扩展了类Person,所以在迁移之后,我们的类从新的命名空间->jakarta.activation.MimeTypeParseException;

import jakarta.activation.MimeTypeParseException;
public class Student extends Person {
public Student(String name) throws MimeTypeParseException {
super(name);
}
}

有这样的构造函数,调用super会抛出错误:Unhandled exception javax.activation.MimeTypeParseException

我已经尝试使用最新版本的第三方包,但它仍然使用旧的Javax命名空间。

有人有类似的经历吗?或者你知道如何解决这个问题,而不需要下载第三方软件并迁移其代码吗?

如果有人遇到这个问题,我已经找到了一个工具,可以帮助解决这个问题,如果你有一个第三方.jar文件。

Transformer工具在.jar归档文件中提供重命名包。重命名是在配置文件中定义的。jakarta-renames.properties)以便您可以自定义它们。对我来说,默认设置就足够了。

在克隆和构建Transformer之后,您可以从您的终端运行它:

java -jar ~/org.eclipse.transformer.cli-0.6.0-SNAPSHOT.jar 3rdparty.jar updatedJar.jar -tr jakarta-renames.properties

最新更新