java如何打jar包
打包JAR文件的方法
使用jar命令工具打包
在命令行中切换到项目根目录,执行以下命令将编译后的.class文件打包为JAR:
jar cvf MyApp.jar *.class
参数说明:
c创建新归档v生成详细输出f指定归档文件名*.class包含所有class文件
包含清单文件的打包方式
创建包含主类的MANIFEST.MF文件:
Main-Class: com.example.Main
执行打包命令时指定清单文件:
jar cvfm MyApp.jar MANIFEST.MF -C target/classes .
关键参数:
m合并现有清单文件-C切换目录后执行操作
使用Maven打包
在pom.xml中配置打包插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
执行打包命令:
mvn clean package
使用Gradle打包
在build.gradle中配置主类信息:
jar {
manifest {
attributes 'Main-Class': 'com.example.Main'
}
}
执行打包任务:
gradle jar
可执行JAR的特殊处理
对于包含依赖库的情况:
- Maven使用
maven-assembly-plugin创建包含所有依赖的fat jar - Gradle通过
shadow插件实现相同功能
Maven配置示例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>






