no main manifest attribute, in demo.jar的原因和解决办法

一、问题描述

当我们用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项目启动成功

PS,我的项目是多module的SpringBoot项目

相关推荐
风象南1 分钟前
SpringBoot 控制器的动态注册与卸载
java·spring boot·后端
我是一只代码狗27 分钟前
springboot中使用线程池
java·spring boot·后端
hello早上好40 分钟前
JDK 代理原理
java·spring boot·spring
PanZonghui1 小时前
Centos项目部署之Java安装与配置
java·linux
沉着的码农1 小时前
【设计模式】基于责任链模式的参数校验
java·spring boot·分布式
Mr_Xuhhh1 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
纳兰青华2 小时前
bean注入的过程中,Property of ‘java.util.ArrayList‘ type cannot be injected by ‘List‘
java·开发语言·spring·list
coding and coffee2 小时前
狂神说 - Mybatis 学习笔记 --下
java·后端·mybatis
千楼2 小时前
阿里巴巴Java开发手册(1.3.0)
java·代码规范
reiraoy2 小时前
缓存解决方案
java