一、问题描述
当我们用java -jar demo.jar --httpPorts=8081
打算启动我们的jar文件时,系统给出了题目中的错误提示:
no main manifest attribute, in demo.jar
二、问题分析
根据提示,很明显是说找不到main入口,为什么是这样呢,我们打开jar包,看看jar包里的文件就知道了。jar的main入口是在jar包下–>META-INF文件夹下的MANINFEST.MF文件里定义的,可用用记事本打开这个文件,linux系统,可以cat 查看这个文件里的内容;
三、处理方法
在我们的pom文件里,添加如下插件即可
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.lee.test.web.DemoApplication</mainClass># 自定义jar包名称<finalName>DemoApplication</finalName># 是否跳过mian入口配置<skip>false</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin>
四、结果验证
重新clean package之后,执行java -jar demo.jar --httpPorts=8081
jar项目启动成功