我用maven构建Java应用程序,它在Target文件夹中构建所有依赖项, 现在我正在尝试运行该jar文件,从Linux给出错误 command- java -jar yourApp.jar argument1
Error- no main manifest attribute, in yourApp.jar
做了一些谷歌之后,我运行了命令 -
java -cp yourApp.jar my.pack.testpack.MyMainClass "argument1"
现在给出错误 -
Caused by: java.lang.ClassNotFoundException: my.pack.testpack.common.components.logger.LoggerFactory
我很惊讶为什么会出现这个问题,如果这个问题已经到来那么它应该在运行时运行时从eclipse运行时从eclipse运行正常工作,我也检查了我正在使用的jar文件捆绑了这个类文件。
请帮忙
答案 0 :(得分:1)
您需要在java命令的类路径中指定所有依赖项。
另一种选择是在清单中指定它们。使用Use of the MANIFEST.MF file in Java获取帮助。
答案 1 :(得分:-2)
在windows cmd:java -jar(file name)
中,请确保指定JDK环境设置的路径
mycomputer,属性环境设置,并确保你有一个名为" path"的变量。如果有非,制造和制造"价值"成为jdk bin文件夹的路径,即c:/ Program Files / java /.../ bin
在linux中:
java -jar <filename>
linux中的java路径设置: 登录您的帐户并打开.bash_profile文件
$ vi ~/.bash_profile
使用语法export JAVA_HOME =设置JAVA_HOME如下。如果您的路径设置为/usr/java/jdk1.5.0_07/bin/java,请按如下所示进行设置:
export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java
按如下方式设置PATH:
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin