执行:java -jar xx.jar 报错jar包没有主清单属性,如图:
在pom文件中增加build配置,手动将main方法对应的主类进行配置:
<build>
<!-- 指定导出jar的名字,默认不配置就是项目名,即${project.artifactId},也可以自定义,比如下面的 xxx -->
<finalName>${project.artifactId}</finalName>
<!--<finalName>xxx</finalName>-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<!--为防止打包失败,这里可以显示指出当前打包正常项目所默认使用的版本是3.1,方便后续其他项目复用-->
<version>3.1</version>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--2.0.4.RELEASE版本,必须与 jdk8适配-->
<version>${spring-boot}</version>
<configuration>
<!--springboot 对应的main方法入口-->
<mainClass>com.data.dashboard.expense.ApplicationRun</mainClass>
</configuration>
<executions>
<execution>
<!--不能去掉,否则主类加载不到MANIFEST.MF文件中-->
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后重新打包mvn clean package
,执行finalName标签对应生成的jar文件即可:
启动 jar 包Java -jar 项目名称.jar
tip:
如果还是打包失败的情况下,要考虑是不是 idea 缓存、springboot 版本冲突等问题,本文中 springboot 版本为2.0.4.RELEASE。