我有一个简单的应用程序,包含3个类,它们是 PercentIdentity.java , GUI.java 和 Aligner.java
我正在使用 Intellij Idea 11.1.3 (我也尝试使用Eclipse)和JRE 1.7。我的操作系统是Win 7 x64。
当我双击使用Intellij创建的jar文件时,我的程序运行正常。此外,它在我执行命令“java -jar * .jar”时有效,其中*是我的jar文件的名称。
现在我想创建一个.exe文件,这样我就可以在其他计算机上运行该程序了。
我用Winrar打开了.jar文件,我可以在META-INF文件夹中看到清单文件(MANIFEST.MF)。
Manifest-Version: 1.0
Main-Class: com.example.PercentIdentity (with an empty line in the end)
在 Launch4j , JSmooth 和 IExpress 上花了很多时间后,我设法创建了在我的网站上运行完美的.exe文件电脑。但是,当我在另一个计算机上运行.exe文件时(再次使用Win 7 x64),它会给出错误:
“Java虚拟机启动器: 无法找到主类: com.example.PercentIdentity。程序将退出。“
骨架选择:窗口包装
可执行文件:test.exe
当前目录:。 (不知道该放什么)
主类:com.example.PercentIdentity
Embedded Jar:* .jar
Classpath:* .jar(与上面相同)
Min JVM版本:1.0 Max JVM版本:1.7
输出文件:C:\ Users \ {name} \ Desktop \ test.exe
Jar:* .jar
(我没有勾选“不要把罐子包起来”复选框)
清单:(空)
Min JRE版本:1.0
我在另一个类似的问题中读到了答案,因为JRE 1.7可能会出现问题,所以我也尝试了1.6。但是,这次它甚至都没有在我自己的电脑上运行。
任何人都知道如何克服这个问题?
提前致谢。
答案 0 :(得分:1)
在Jsmooth中,是.jar的类路径? 不要说它很重要,可以为jar(隐含位置)留空, 如果可能的话,当前目录可能比一个点更好地留空。\(用反斜杠表示windows - 表示当前目录)。
对于主类,您可以简单地说“PercentIdentity”作为类路径和路径被搜索,因此如果.jar中只有一个它将被选中。
关于暗示jar的位置可能是空白符号,或者在某些配置文档中给出了符号。 ,dot通常用于Web服务器目的,除非它是其中的一部分。在windows或./ in unix中意为“此目录在其中”。
如果你想学习少量的C / C ++,你可以使用短的一个班轮 execv()函数和一个数组或execlp()函数和一个列表,但是你需要学习大量的C / C ++来使用** args指针数组来传递命令行参数。