在进入主要部分之前,让我总结一下我目前所处的位置。我用 Java 编写了一个简单的程序,在 NetBeans(Ant 项目)中使用 JDK 16 编译。我使用module-info.class
. 然后,我使用 jlink 从生成的 jar 文件创建了我的自定义运行时映像 (JRE)。然后,我使用 Launch4J 将 jar 文件转换为 exe。
要运行 jar 文件,我可以使用以下命令:/location of custom JRE/bin/java -jar filename.jar.
但是我从 jar 文件生成的 exe 文件呢?
经过一些实验,我发现同样的命令也/location of custom JRE/bin/java -jar filename.exe
适用于 exe 文件。但这是正确的方法吗?
我有疑问,因为我正在运行的不是 jar,但我仍在使用该-jar
属性。而且我还尝试运行没有该-jar
属性的 exe 程序,并得到这些错误:
Error: Could not find or load main class D:\Fida\Codeblocks\Java\MultipleClass.exe
Caused by: java.lang.ClassNotFoundException: D:\Fida\Codeblocks\Java\MultipleClass.exe
可能有一种方法,甚至无需使用任何 java 命令。您只需双击exe文件即可运行它。但不幸的是,java 程序本身无法检测自定义运行时映像。它仅检测使用安装程序安装的 JRE 或 JDK。如果有办法安装自定义运行时映像,那么我只需双击它即可运行 exe。有什么建议么?
谢谢!
问候,
菲达