在Linux系统下执行java -jar XXX.jar com.HelloWorld往往会提示:No main manifest attribute, in XXX.jar
原因如下:
正常情况下,java打包成jar包需要在MANIFEST.MF中指定Main-Class项以便运行java -jar XXX.jar时找到对应的主类。因为-jar的含义就是后面跟的jar包是有main class可独立运行,所以需要在打包成jar包时指定这个类。
如果想运行时指定想要运行的类,此时应该用-cp / --classpath来指定,命令如下:
比如:java -cp XXX.jar com.HelloWorld
打包也可以通过以下方式指定,来直接运行jar文件 java -jar xxx.jar
org.apache.maven.plugins
maven-jar-plugin
2.6
target/classes/
com.alibaba.dubbo.container.Main
false
true
crm-lib/
.
org.apache.maven.plugins
maven-dependency-plugin
copy-dependencies
package
copy-dependencies
jar
jar
${project.build.directory}/crm-lib
来源:oschina
链接:https://my.oschina.net/u/3101476/blog/1558574