2015-01-12 36 views
0

我用maven构建Java应用程序,它在目标文件夹中构建所有依赖项, 现在我试图从Linux运行该jar文件,它给出的错误为 command-罐子yourApp.jar做一些谷歌我跑命令欠如何在Linux/Windows下运行Jar文件

java -cp yourApp.jar my.pack.testpack.MyMainClass "argument1" 
现在

后ARGUMENT1

Error- no main manifest attribute, in yourApp.jar 

它给人无差错

Caused by: java.lang.ClassNotFoundException: my.pack.testpack.common.components.logger.LoggerFactory 

我很惊讶为什么会出现这个问题,如果出现这个问题,它应该在运行时从eclipse运行时从eclipse运行正常,我也检查了我使用的捆绑了这个的jar文件类文件。

请帮

+0

你可以分享一下你打包jar包的过程以及解压时的内容吗? –

回答

-2

在windows CMD:java -jar(file name)请确保您指定的JDK环境设置

MYCOMPUTER,属性环境设置的路径,并确保你有变量,名为“路径”,如果有非,就做出 “价值” 是JDK bin文件夹的路径,即C:/ Program Files文件/ JAVA /.../斌

在Linux中:

java -jar <filename> 
在linux

java的路径设置: 登录到您的帐户,并打开.bash_profile文件中

$ vi ~/.bash_profile 

设置JAVA_HOME使用语法出口JAVA_HOME =如下。如下

export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java 

设置路径:如果您的路径设置为/usr/java/jdk1.5.0_07/bin/java,如下设置

export PATH=$PATH:/usr/java/jdk1.5.0_07/bin 
+1

这不是用户问题。他没有正确打包jar,因此找不到Main类。 –

+1

所有路径已经设置,请在运行时说明还需要用命令指定,我想请求请不要给出一般化的答案,用一些例子来解释,我相信我已经解释了我所做的,谢谢 –

1

你需要指定所有java命令的类路径中的依赖关系。

另一种选择是在清单中指定它们。使用Use of the MANIFEST.MF file in Java寻求帮助。

+0

我正在运行从所有依赖项捆绑在一起的构建包,请举一些例子。 –

+0

他们如何捆绑?罐子里面的罐子,或者你解压缩所有库类,并将它们与你的类一起打包在罐子里? –