一、问题描述
当我们用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文件里,添加如下插件即可
bash
<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项目启动成功