无法使用java -jar命令执行jar文件

时间:2011-11-19 07:36:40

标签: java jar

我创建了一个jar文件usign maven2 build。我正在尝试使用以下命令运行该jar文件:

java -jar sample.jar com.app.Test

Test是具有主要方法的类。但我得到了这个例外:

Exception in thread "main" java.lang.NullPointerException
        at sun.launcher.LauncherHelper.getMainClassFromJar(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

任何人都可以帮我解决这个异常并运行jar文件吗?

提前致谢。

3 个答案:

答案 0 :(得分:7)

如果要运行Test类,则应使用

 java -cp sample.jar com.app.Test

这样,您可以将jar添加到类路径中,然后运行指定的主类。

java -jar做的是它执行一个可运行的jar文件(它在清单文件中定义了自己的主类)。之后的任何参数都不会用于指定类,而是以传递给main方法的String数组结束。

因此,如果你有一个正确构造的可运行jar文件,它应该只是

java -jar sample.jar 

答案 1 :(得分:2)

如果您使用的是Maven,则可能需要使用maven的install命令。你可以在这里找到格式 http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

答案 2 :(得分:0)

如果您没有,则看起来确实需要清单和Main-Class属性。 如果您使用的是java 7,则会在此处提交错误http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7067922