java 9第三方模块适用于IDE但不适用于jlink
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 9第三方模块适用于IDE但不适用于jlink,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1376字,纯文字阅读大概需要2分钟。
内容图文
![java 9第三方模块适用于IDE但不适用于jlink](/upload/InfoBanner/zyjiaocheng/789/1fb252915cc74d5fa5fcd00610248808.jpg)
该程序基于JDK 9(JPMS),使用一些第三方罐子,如Apache(poi-3.17.jar,commons-io-2.6.jar)& HikariCP(HikariCP-3.1.0.jar),当使用IDE(Intellij)时,我“需要”它们,程序运行正常.
当我尝试使用java9’jlink’获取我的个性化JRE时,我得到以下内容:
/out$jlink --module-path production --add-modules
studyModule,java.base,java.datatransfer,java.desktop,java.logging,
java.scripting,java.sql,java.xml,java.prefs,javafx.base,
javafx.controls,javafx.fxml,javafx.graphics,javafx.media,
javafx.swing,javafx.web,jdk.jsobject,jdk.xml.dom,jdk.unsupported
--output studyJre
Error: module-info.class not found for com.zaxxer.hikari module
/out$jlink --module-path production --add-modules
studyModule,java.base,java.datatransfer,java.desktop,java.logging,
java.scripting,java.sql,java.xml,java.prefs,javafx.base,
javafx.controls,javafx.fxml,javafx.graphics,javafx.media,
javafx.swing,javafx.web,jdk.jsobject,jdk.xml.dom,jdk.unsupported
--output studyJre
Error: module-info.class not found for poi module
问题是:为什么那些带IDE的软件包工作正常?如果它们没有被模块化,那么也不应该在IDE中工作.
P.S:在使用jlink时,我将这些jar添加到“root”文件夹中.
解决方法:
请记住,jlink是一种非标准工具,它不必遵循与经典Java完全相同的规则.它的一个不同之处在于它要求所有模块都是显式的(即具有module-info.class).不支持自动模块.如果要创建自定义运行时映像,则必须将所有自动模块转换为显式模块.例如,参见this question以了解如何实现它.
内容总结
以上是互联网集市为您收集整理的java 9第三方模块适用于IDE但不适用于jlink全部内容,希望文章能够帮你解决java 9第三方模块适用于IDE但不适用于jlink所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。