jar 运行清单文件MANIFEST.MF生成定义Main-Class Premain-Class IDEA maven-assembly-plugin
2023-12-25 05:57:07
可运行jar文件中的启动清单文件 META-INF/MANIFEST.MF 内容自定义生成?
清单文件中的?Main-Class:? ??Premain-Class:? ??Can-Retransform-Classes: 在maven-assembly-plugin插件中的生成配置如下, 注意命名
<archive>
? ? <manifest>
? ? ? ? <mainClass>cn.tekin.burploaderkeygen.KeygenForm</mainClass>
? ? </manifest>
? ? <manifestEntries>
? ? ? ? <Premain-Class>cn.tekin.burploaderkeygen.Loader</Premain-Class>
? ? ? ? <Can-Retransform-Classes>true</Can-Retransform-Classes>
? ? </manifestEntries>
</archive>
打包jar文件夹后生成的清单如下:
Main-Class: cn.tekin.burploaderkeygen.KeygenForm
Can-Retransform-Classes: true
Premain-Class: cn.tekin.burploaderkeygen.Loader
maven pom.xml 完整配置文件如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.tekin</groupId>
<artifactId>burploaderkeygen</artifactId>
<version>1.18</version>
<properties>
<maven.compiler.source>20</maven.compiler.source>
<maven.compiler.target>20</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<finalName>burploaderkeygen-v${version}</finalName>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>cn.tekin.burploaderkeygen.KeygenForm</mainClass>
</manifest>
<manifestEntries>
<Premain-Class>cn.tekin.burploaderkeygen.Loader</Premain-Class>
<Can-Retransform-Classes>true</Can-Retransform-Classes>
</manifestEntries>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
总结:?
从上面可以得出 主入口类的定义在manifest节点,且命名为小驼峰(配置 mainClass 最后生成?Main-Class?),? 其他的清单配置都定义在manifestEntries节点,命名方式为首字母大写加连接线-的方式
文章来源:https://blog.csdn.net/tekin_cn/article/details/135180733
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!