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>
相关推荐
软件开发技术深度爱好者17 小时前
用python制作相册浏览小工具
开发语言·python
2501_9151063217 小时前
JavaScript编程工具有哪些?老前端的实用工具清单与经验分享
开发语言·前端·javascript·ios·小程序·uni-app·iphone
Code blocks18 小时前
SpringBoot自定义请求前缀
java·spring boot·后端
洲覆18 小时前
C++ 模板、泛型与 auto 关键字
开发语言·数据结构·c++
爱学大树锯18 小时前
【Spring Boot JAR 解压修改配置后重新打包全流程(避坑指南)】
spring boot·后端·jar
蜀中廖化18 小时前
python VSCode中报错 E501:line too long (81 > 79 characters)
开发语言·vscode·python
消失的旧时光-194318 小时前
Android回退按钮处理方法总结
android·开发语言·kotlin
Jabes.yang18 小时前
Java求职面试:从Spring Boot到Kafka的技术探讨
java·spring boot·面试·kafka·互联网大厂
千里马-horse18 小时前
Async++ 源码分析7--parallel_reduce.h
开发语言·c++·async++·parallel_reduce
量化交易曾小健(金融号)18 小时前
Python美股量化交易填坑记录——3.盈透(Interactive Brokers)证券API接口
开发语言·python