Jar文件不会执行,不确定我是否正确创建它

时间:2014-04-05 23:12:54

标签: java windows jar

我试图用两个类创建一个jar文件,其中一个类依赖于外部jar。我有一个目录,其中包含manifest.txt,一个包含外部jar RXTXcomm.jar的lib文件夹,以及一个名为Arduino的文件夹,其中包含我的两个类SendValue.java和SerialClass.java。

首先,我使用以下方法编译我的课程:

javac arduino\*.java

这将创建3个新文件,SerialClass $ 1.class,SerialClass.class和SendValue.class。要制作jar文件,我正在运行:

jar -cfm send.jar manifest.txt arduino\*.class lib\rxtxcomm.jar

这很好用。然后我尝试使用以下命令运行该文件:

java send.jar

我收到错误:

Could not find or load main class send.jar

我也尝试使用以下命令运行它,并得到了同样的错误:

java -cp . send.jar

manifest.txt中唯一的一行是:

Main-Class: Arduino.SendValue

我的课程在Eclipse中运行良好,所以我假设他们不是问题所在。 SendValue.java有一行:

public static void main(String[] ag) {

正如它应该的那样。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您希望使用以下代码运行jar

java -jar send.jar

此外,除非您想使用OneJar等工具对嵌套jar进行一些魔术,否则应从lib\rxtxcomm.jar命令中删除jar,并将以下行添加到清单中

Class-Path: lib\rxtxcomm.jar .

答案 1 :(得分:0)

如果您要使用命令行或终端运行单个java可执行文件,请使用

java -jar send.jar

如果你使用像Netbeans,IntelliJ IDEA或Eclipse这样的IDE进行编译和测试会更好,因为他们意味着做这些事情并且在做与人脑不同的步骤时更可靠