如何在Java中使用具有预览功能的jpackage

busg9geu  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(127)

我正在尝试创建Microsoft Windows。使用jpackage的我的应用程序的exe版本。但是,我的应用程序使用的功能目前处于预览状态。这是我的构建脚本。

#compiles with preview features enabled
javac --enable-preview --source 21 -d classes src/Helltaker/Main.java src/module-info.java

#creates the jar file in the run folder
jar --create --file run/HelltakerPathFinder_run_me.jar --main-class Helltaker.Main -C classes .

#deletes the jlink created runtime from previous runs of this script
rm -rf ../_CUSTOM_JAVA_RUNTIME

#creates a minimized version of the Java Runtime and stores it into the _CUSTOM_JAVA_RUNTIME folder
jlink --output ../_CUSTOM_JAVA_RUNTIME --add-modules davidalayachew.HelltakerPathFinder --module-path run

#use jpackage to package it up for installation and running
jpackage \
         --input run \
         --name HelltakerPathFinder \
         --description "A path finding algorithm for the video game Helltaker -- written in Java 20" \
         --main-jar HelltakerPathFinder_run_me.jar \
         --win-console \
         --runtime-image ../_CUSTOM_JAVA_RUNTIME

所以,我试了一下,它完成了没有错误。已创建.exe文件。我将可执行文件移到另一个文件夹,双击它,然后开始安装。安装完成后,我导航到新安装的应用程序的位置(C:\Program Files\HelltakerPathFinder),在那里打开一个Windows终端,启动应用程序,然后它失败并显示以下消息。

PS C:\Program Files\HelltakerPathFinder> .\HelltakerPathFinder.exe
Error: LinkageError occurred while loading main class Helltaker.Main
        java.lang.UnsupportedClassVersionError: Preview features are not enabled for Helltaker/Main (class file version 65.65535). Try running with '--enable-preview'

所以,我试着用--enable-preview运行,得到了这个。

PS C:\Program Files\HelltakerPathFinder> .\HelltakerPathFinder.exe --enable-preview
Error: LinkageError occurred while loading main class Helltaker.Main
        java.lang.UnsupportedClassVersionError: Preview features are not enabled for Helltaker/Main (class file version 65.65535). Try running with '--enable-preview'

我怎么得到这个。exe文件运行--enable-preview

col17t5w

col17t5w1#

下面是--java-options标志:

--java-options <java options>
      Options to pass to the Java runtime
      This option can be used multiple times.

所以,对你来说就是:

--java-options '--enable-preview'

相关问题