该程序基于 JDK 9(JPMS),在使用 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 中工作。
PS:我在使用 jlink 时将这些 jar 添加到“根”文件夹中。