Maven打包没有指定主类问题(xxx.jar中没有主清单属性)

这篇文章主要介绍了Maven打包没有指定主类问题(xxx.jar中没有主清单属性),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Maven打包没有指定主类

在使用IDEA开发项目的时候经常会遇到使用Maven打包项目(打成jar包或者zip包),但是之前不太清楚打包插件的使用,有时候会遇到在启动jar包的时候没有指定主类的错误(dd-1.0-SNAPSHOT.jar中没有主清单属性)。今天学习一下插件使用,写一个针对该问题的教程。

软件环境

  • IDEA:2017.1.5
  • Maven:3.3.9

打xxx.jar包(不包含依赖的jar包)

Maven可以不添加插件默认打jar包,但是如果想要修改默认的参数需要重新引入插件添加需要修改信息。

​ 1. 修改pom.xml

     org.apache.maven.plugins     maven-jar-plugin     3.1.0                                            demo.LoadDataMR                           

2.使用Maven工具打包

找到IDEA右边的【Maven Projects】->【项目名称】->【Lifecycle】

  • a. 先双击【clean】查看控制台(Run)是否出现BUILD SUCCESS
  • b. 然后双击【package】查看控制台(Run)是否出现BUILD SUCCESS
  • c. 在IDEA左边查看【Project】界面会出现【target】文件夹,打开文件夹会出现xxx.jar包说明已经构建完成。
  • ​d. 打开xxx.jar文件,在【META-INF/MANIFEST.MF】文件里面存在Main-Class: demo.LoadDataMR

打xxx-jar-with-dependencies.jar包

1. 修改pom.xml文件

     maven-assembly-plugin                                            demo.LoadDataMR                                            jar-with-dependencies                                              make-assemble             package                              single                           

2.使用Maven工具打包

找到IDEA右边的【Maven Projects】->【项目名称】->【Lifecycle】

  • a. 先双击【clean】查看控制台(Run)是否出现BUILD SUCCESS
  • b. 然后双击【package】查看控制台(Run)是否出现BUILD SUCCESS
  • c. 在IDEA左边查看【Project】界面会出现【target】文件夹,打开文件夹会出现xxx.jar包说明已经构建完成。
  • d. 打开xxx-jar-with-dependencies.jar文件,在【META-INF/MANIFEST.MF】文件里面存在Main-Class: demo.LoadDataMR

写在后面​

Maven插件配置的信息只能针对其生成的文件,在maven-jar-plugin插件设置的信息只会出现在xxx.jar包中,在maven-assembly-plugin插件设置的信息只会出现在xxx-jar-with-dependencies.jar包中

处理maven打包中没有主类启动的情况

第一步:在pom文件中添加

        org.apache.maven.plugins     maven-shade-plugin     2.3                           package                              shade                                                                                                                                                     com.xxx.XXApplication                                                                                                                         META-INF/spring.handlers                                                                   META-INF/spring.schemas                                                                 

第二步 mvn:clean

第三步 mvn:package

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持0133技术站。

以上就是Maven打包没有指定主类问题(xxx.jar中没有主清单属性)的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java