3

我有一个简单的应用程序,由 3 个类组成,它们是PercentIdentity.javaGUI.javaAligner.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)

Launch4jJSmoothIExpress上花费了大量时间后,我设法创建了可以在我的计算机上完美运行的 .exe 文件。但是,当我在另一台计算机上运行 .exe 文件时(再次使用 Win 7 x64),它会给出错误:

“Java 虚拟机启动器:找不到主类:com.example.PercentIdentity。程序将退出。”

我的 JSmooth 设置如下:

骨架选择:Window Wrapper

可执行文件:test.exe

当前目录: 。(不知道放什么)

主类:com.example.PercentIdentity

嵌入式 jar:*.jar

类路径:*.jar(同上)

最低 JVM 版本:1.0 最高 JVM 版本:1.7

我在 Launch4j 中使用的设置:

输出文件:C:\Users\{name}\Desktop\test.exe

罐子:*.jar

(我没有选中“不要包装罐子”复选框)

清单:(空)

最低 JRE 版本:1.0

我在另一个类似问题中阅读了一个答案,该问题可能是由于 JRE 1.7 而出现的,所以我也尝试了 1.6。但是,这一次它甚至没有在我自己的计算机上运行。

任何人都知道我该如何克服这个问题?

提前致谢。

4

1 回答 1

1

In Jsmooth , is classpath for the .jar? Don't say it matters and can be left blank for the jar (implicit location), current directory maybe left blank better than a dot, if anything probably .\ (with a backslash for windows - means current directory).

for main class you can probably just say "PercentIdentity" as the classpath and paths get searched so if there is only one there in the .jar it will be chosen.

about implying where the jar is it is probably given a blank notation or in some configuration documents it is given the notation . , dot is usually used for web sever purposes unless it is part of . in windows or ./ in unix meaning "this directory its in".

If you wish to learn a small quantity of C/C++ you can get away with a short one liner using execv() function and an array or execlp() function and a list, However you will need to learn a large quantity of C/C++ to use the **args pointer array to pass command line parameters.

于 2012-12-02T00:16:58.617 回答