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

use*_*590 2 java jar

我创建了一个jar文件usign maven2 build.我试图使用命令运行该jar文件:

java -jar sample.jar com.app.Test
Run Code Online (Sandbox Code Playgroud)

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

Exception in thread "main" java.lang.NullPointerException
        at sun.launcher.LauncherHelper.getMainClassFromJar(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

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

提前致谢.

Thi*_*ilo 7

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

 java -cp sample.jar com.app.Test
Run Code Online (Sandbox Code Playgroud)

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

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

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

java -jar sample.jar 
Run Code Online (Sandbox Code Playgroud)