首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于java.xml.bind模块导致的jlink错误

由于java.xml.bind模块导致的jlink错误
EN

Stack Overflow用户
提问于 2022-10-30 17:54:48
回答 1查看 38关注 0票数 0

我从事一个javafx项目,当我试图使用jlink来制作我的图像时,我遇到了一个问题。我的java版本: java 19 2022-09-20

下面是我的模块-info.java:

代码语言:javascript
复制
module org.aned.mosaic {
    exports mosaic;

    requires java.logging;
    requires org.apache.commons.lang3;
    requires java.xml.bind;
    requires java.desktop;
    requires transitive javafx.graphics;
    requires transitive javafx.controls;
    requires transitive javafx.fxml;
}

我的jlink命令:

代码语言:javascript
复制
jlink --output output/image --module-path "output/modules;C:\Program Files\Java\javafx-sdk-19\lib;C:\Users\alex_\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\alex_\.m2\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar"  --add-modules org.aned.mosaic  --launcher Mosaic=org.aned.mosaic

以及产出:

代码语言:javascript
复制
Error: Module java.activation not found, required by java.xml.bind
java.lang.module.FindException: Module java.activation not found, required by java.xml.bind
        at java.base/java.lang.module.Resolver.findFail(Resolver.java:892)
        at java.base/java.lang.module.Resolver.resolve(Resolver.java:192)
        at java.base/java.lang.module.Resolver.resolve(Resolver.java:141)
        at java.base/java.lang.module.Configuration.resolve(Configuration.java:420)
        at java.base/java.lang.module.Configuration.resolve(Configuration.java:254)
        at jdk.jlink/jdk.tools.jlink.internal.Jlink$JlinkConfiguration.resolve(Jlink.java:217)
        at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImageProvider(JlinkTask.java:536)
        at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImage(JlinkTask.java:424)
        at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.run(JlinkTask.java:276)
        at jdk.jlink/jdk.tools.jlink.internal.Main.run(Main.java:56)
        at jdk.jlink/jdk.tools.jlink.internal.Main.main(Main.java:34)

据我所知,问题在于使用java.xml.bind模块的java.activation模块,而且这个模块似乎不存在于java 19中。

我尝试下载jaf-1.1.1,并将activation.jar文件用作一个模块,但没有成功。

我也试图添加模块-info.java "requires java.activation;“

我刚开始使用java模块,也许我错过了一些东西。有办法从使用java.xml.bind的模块创建映像吗?

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2022-10-30 18:28:08

尝试使用jlink直接创建可执行映像不是一个好主意,因为在几乎每一个严肃的项目中,您都必须处理尚未模块化的代码,因此无法使用jlink。对于另一种选择,请看这里,例如:https://github.com/dlemmermann/JPackageScriptFX

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74255433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档