MAVEN打包JAR启动执行manifest

当您使用Maven进行项目打包,特别是需要创建一个可执行的JAR文件时,确保JAR文件的MANIFEST.MF中包含正确的Main-Class属性是非常重要的。这个属性告诉Java运行时环境哪个类包含main方法,作为应用程序的入口点。

如果您发现生成的JAR文件不包含Main-Class属性,您可以在maven-assembly-plugin插件的配置中指定它。以下是如何在Maven的pom.xml文件中配置maven-assembly-plugin以包含Main-Class属性的示例:

XML 复制代码
<plugin>
    <artifactId>maven-assembly-plugin </artifactId>
    <configuration>
        <descriptorRefs>
            <!-- 此处填写打包后jar包后添加的标识 -->
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <!-- 此处填写程序的主入口(main方法) -->
                <mainClass>com.example.demo.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>
相关推荐
.鸣13 分钟前
set和map
java·学习
ha_lydms32 分钟前
5、Spark函数_s/t
java·大数据·python·spark·数据处理·maxcompute·spark 函数
李艺为39 分钟前
根据apk包名动态修改Android品牌与型号
android·开发语言
黄河滴滴1 小时前
java系统变卡变慢的原因是什么?从oom的角度分析
java·开发语言
侠客行03171 小时前
Mybatis二级缓存实现详解
java·mybatis·源码阅读
老华带你飞1 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
superman超哥2 小时前
Rust Workspace 多项目管理:单体仓库的优雅组织
开发语言·rust·多项目管理·rust workspace·单体仓库
kylezhao20192 小时前
C#通过HSLCommunication库操作PLC用法
开发语言·c#
Edward111111112 小时前
tomcat_servlet
java·servlet·tomcat
短剑重铸之日2 小时前
SpringBoot声明式事务的源码解析
java·后端·spring·springboot