尝试注入module-info.java时找不到模块

艾伦·胡安(Allan Juan):

我有一个使用Apache PDFBox的JavaFX项目。我想使用JLink为其构建JRE,但由于PDFBox是自动模块,所以无法使用。因此,我试图在其中注入一个模块信息文件。

我使用jdeps生成了这个模块信息文件:

module org.apache.pdfbox {
    requires org.bouncycastle.pkix;
    requires org.bouncycastle.provider;

    requires transitive commons.logging;
    requires transitive java.desktop;
    requires transitive java.xml;
    requires transitive org.apache.fontbox;

    exports org.apache.pdfbox.contentstream;
    exports org.apache.pdfbox.contentstream.operator;
    exports org.apache.pdfbox.contentstream.operator.color;
    exports org.apache.pdfbox.contentstream.operator.graphics;
    exports org.apache.pdfbox.contentstream.operator.markedcontent;
    exports org.apache.pdfbox.contentstream.operator.state;
    exports org.apache.pdfbox.contentstream.operator.text;
    exports org.apache.pdfbox.cos;
    exports org.apache.pdfbox.filter;
    exports org.apache.pdfbox.io;
    exports org.apache.pdfbox.multipdf;
    exports org.apache.pdfbox.pdfparser;
    exports org.apache.pdfbox.pdfwriter;
    exports org.apache.pdfbox.pdmodel;
    exports org.apache.pdfbox.pdmodel.common;
    exports org.apache.pdfbox.pdmodel.common.filespecification;
    exports org.apache.pdfbox.pdmodel.common.function;
    exports org.apache.pdfbox.pdmodel.common.function.type4;
    exports org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure;
    exports org.apache.pdfbox.pdmodel.documentinterchange.markedcontent;
    exports org.apache.pdfbox.pdmodel.documentinterchange.prepress;
    exports org.apache.pdfbox.pdmodel.documentinterchange.taggedpdf;
    exports org.apache.pdfbox.pdmodel.encryption;
    exports org.apache.pdfbox.pdmodel.fdf;
    exports org.apache.pdfbox.pdmodel.font;
    exports org.apache.pdfbox.pdmodel.font.encoding;
    exports org.apache.pdfbox.pdmodel.graphics;
    exports org.apache.pdfbox.pdmodel.graphics.blend;
    exports org.apache.pdfbox.pdmodel.graphics.color;
    exports org.apache.pdfbox.pdmodel.graphics.form;
    exports org.apache.pdfbox.pdmodel.graphics.image;
    exports org.apache.pdfbox.pdmodel.graphics.optionalcontent;
    exports org.apache.pdfbox.pdmodel.graphics.pattern;
    exports org.apache.pdfbox.pdmodel.graphics.shading;
    exports org.apache.pdfbox.pdmodel.graphics.state;
    exports org.apache.pdfbox.pdmodel.interactive.action;
    exports org.apache.pdfbox.pdmodel.interactive.annotation;
    exports org.apache.pdfbox.pdmodel.interactive.annotation.handlers;
    exports org.apache.pdfbox.pdmodel.interactive.annotation.layout;
    exports org.apache.pdfbox.pdmodel.interactive.digitalsignature;
    exports org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible;
    exports org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination;
    exports org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline;
    exports org.apache.pdfbox.pdmodel.interactive.form;
    exports org.apache.pdfbox.pdmodel.interactive.measurement;
    exports org.apache.pdfbox.pdmodel.interactive.pagenavigation;
    exports org.apache.pdfbox.pdmodel.interactive.viewerpreferences;
    exports org.apache.pdfbox.printing;
    exports org.apache.pdfbox.rendering;
    exports org.apache.pdfbox.text;
    exports org.apache.pdfbox.util;
    exports org.apache.pdfbox.util.filetypedetector;
}

在罐子的文件夹中,我运行了: javac --patch-module org.apache.pdfbox=pdfbox-2.0.20.jar module-info.java

但后来我得到了

pdfbox/module-info.java:2: error: module not found: org.bouncycastle.pkix
    requires org.bouncycastle.pkix;
                             ^
pdfbox/module-info.java:3: error: module not found: org.bouncycastle.provider
    requires org.bouncycastle.provider;
                             ^
pdfbox/module-info.java:5: error: module not found: commons.logging
    requires transitive commons.logging;
                               ^
pdfbox/module-info.java:8: error: module not found: org.apache.fontbox
    requires transitive org.apache.fontbox;
                                  ^
4 errors

我怎样才能解决这个问题?有更好的解决方法吗?提前致谢。

该项目:https : //github.com/ajsaraujo/mre-automodule

mipa:

由于自动模块问题,您不能直接使用jlink。但是您可以按照本教程https://github.com/dlemmermann/JPackageScriptFX进行操作该教程也使用jlink,但仅用于创建专用的运行时而无需模块化项目。我也在我的项目中使用PDFBox,所以我知道它可以工作。免责声明:我有偏见,因为我是上述教程的合著者:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

日食 - 模块没有发现添加module-info.java时

尝试从Clojure填充Java类时“找不到匹配的ctor”

Intellij:Java 11:导出模块:找不到包{找不到模块},module-info.java

尝试注入依赖项时出错

module-info.java进入哪个目录?

我尝试注销时应用崩溃

错误:尝试安装React App时找不到模块“ react-scripts / scripts / init.js”

测试angularjs控制器时-找不到变量:chutzpah的模块/注入

尝试在我的应用程序中集成Google登录时找不到“ GoogleService-Info.plist”

找不到必需的@SWG \ Info()

错误:尝试扩展tslint-microsoft-contrib时找不到模块'tslint / lib / lint'

尝试初始化子模块时出现“致命:找不到子模块路径的URL”错误

尝试导入sklearn模块时出错:ImportError:DLL加载失败:找不到指定的模块

尝试模块化Gradle SpringBoot项目,但在尝试构建时出现“错误:找不到符号”?

React-Native-尝试注入启动画面图像时出现RangeError

尝试运行Electron Project的生产版本时找不到模块“ xmlbuilder”

Angular 10:尝试导入模块时找不到名称

尝试注入services.AddScoped时出错

Java-IntelliJ在运行应用程序时找不到在module-info.java中声明的模块库

尝试在Eclipse中运行Python脚本时出现“ NameError:找不到模块maya的文件”

当我尝试注入服务时,Angular Unit测试失败

java:尝试使用.isDigit()时找不到符号

导入错误:DLL 加载失败:找不到指定的模块。在尝试导入 TensorFlow 时

尝试部署到 Heroku 时出现“找不到模块‘异步’”错误

DAGGER:尝试注入 Fragment 时,错误无法解决“这个”问题?

编译 module-info.java 抛出错误:找不到模块

尝试导入熊猫时在 Python 中找不到模块错误

当我尝试通过 python 脚本执行 shell 命令时,出现错误“找不到模块”

尝试在 android 上运行 ionic 时找不到模块“@angular-devkit.../utils”