我们有一个不使用AWT / Swing / JavaFX的Java应用程序,并且可以与私有捆绑的JRE 8一起使用.JRE 9比JRE 8大得多,但是我们希望让用户使用JRE 9来尝试我们的应用程序。我们还不想模块化我们的代码或jar(以保持与Java 8的兼容性)。
如何创建"必要" (=剥离到最小的必需部分),可以与Java应用程序捆绑在一起的私有JRE 9?
答案 0 :(得分:4)
可以创建JRE的自定义运行时映像,而无需将应用程序本身转换为Java 9模块。首先,我们需要找出需要哪些模块(JDK / JRE):
"C:\Program Files\Java\jdk-9.0.1\bin\jdeps.exe"
-s
"C:\path\to\my\jars\*.jar"
然后我们可以创建一个轻量级jre
目录结构(将 java.logging,java.xml 替换为您的应用程序所需的模块):
"C:\Program Files\Java\jdk-9.0.1\bin\jlink.exe"
--module-path "C:\Program Files\Java\jdk-9.0.1\jmods"
--add-modules java.logging,java.xml
--output "e:\myproject\jre"