Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Java中如何打包应用 掌握JAR文件创建_创想鸟

Java中如何打包应用 掌握JAR文件创建

java应用打包成jar文件有两种主要方式:命令行和构建工具。1. 命令行方式需先编译代码,创建manifest.mf指定主类,再用jar命令打包;2. maven通过配置pom.xml中的maven-jar-plugin插件,运行mvn clean package生成jar;3. gradle在build.gradle中配置jar任务,运行gradle clean build生成jar。meta-inf目录存放元数据,其中manifest.mf定义jar版本、主类等信息。若要包含第三方依赖,可通过构建工具生成“胖jar”,或在manifest.mf中指定class-path属性。运行jar使用java -jar命令,如:java -jar myjar.jar,并可附加参数。

Java中如何打包应用 掌握JAR文件创建

Java应用打包,核心就是把你的代码、依赖、资源文件,按照一定的规范,放到一个压缩包里,方便分发和运行。这个压缩包,就是JAR文件。

Java中如何打包应用 掌握JAR文件创建

解决方案

Java中如何打包应用 掌握JAR文件创建

打包Java应用成JAR文件,主要有两种方式:命令行和使用构建工具(比如Maven或Gradle)。

立即学习“Java免费学习笔记(深入)”;

命令行方式

Java中如何打包应用 掌握JAR文件创建

编译Java代码: 确保你的Java源代码已经编译成.class文件。

javac MyClass.java

创建MANIFEST.MF文件: 这个文件描述了JAR文件的元数据,比如主类。在META-INF目录下创建MANIFEST.MF文件,内容类似:

Manifest-Version: 1.0Main-Class: MyClass

Main-Class指定了程序的入口类。

创建JAR文件: 使用jar命令打包。

jar cfm MyJar.jar META-INF/MANIFEST.MF *.class

c表示创建,f表示指定JAR文件名,m表示指定MANIFEST文件。*.class表示包含所有编译后的类文件。

使用Maven

Maven通过pom.xml文件管理项目的依赖和构建过程。

配置pom.xml: 在pom.xml文件中,指定maven-jar-plugin插件。

                        org.apache.maven.plugins            maven-jar-plugin            3.2.0                                                                        com.example.MyClass                                                            

mainClass指定主类。

豆包爱学 豆包爱学

豆包旗下AI学习应用

豆包爱学 674 查看详情 豆包爱学

打包: 在项目根目录下运行命令:

mvn clean package

Maven会自动编译代码、下载依赖,并生成JAR文件到target目录下。

使用Gradle

Gradle使用build.gradle文件进行项目配置。

配置build.gradle:

plugins {    id 'java'}jar {    manifest {        attributes 'Main-Class': 'com.example.MyClass'    }    from {        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }    }}

Main-Class指定主类。

打包: 运行命令:

gradle clean build

Gradle会在build/libs目录下生成JAR文件。

JAR文件中的META-INF目录有什么作用?

META-INF目录是JAR文件中的一个特殊目录,用于存放JAR文件的元数据信息。最重要的文件就是MANIFEST.MF,它定义了JAR文件的版本、创建者、主类等信息。其他文件可能包括签名信息,用于验证JAR文件的完整性和来源。可以说,没有META-INF目录,JAR文件就缺少了灵魂,程序不知道从哪里开始运行。

如何在JAR文件中包含依赖的第三方库?

这是个很关键的问题。直接把所有依赖的JAR文件放到一起打包成一个大的JAR文件(也叫“胖JAR”或“uber JAR”)是一种常见的做法。Maven和Gradle都提供了相应的插件来实现这个功能。比如Maven的maven-assembly-plugin和Gradle的shadowJar插件。另一种方式是创建可执行JAR文件时,将依赖的JAR文件放在同一目录下,并在MANIFEST.MF文件中指定Class-Path属性,告诉JVM去哪里寻找依赖的库。

如何运行JAR文件?

运行JAR文件很简单,使用java -jar命令即可。

java -jar MyJar.jar

如果JAR文件需要额外的参数,可以直接在命令后面添加。例如:

java -jar MyJar.jar arg1 arg2

但要注意,如果你的JAR文件没有指定主类,或者主类不存在,运行时会报错。

以上就是Java中如何打包应用 掌握JAR文件创建的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/261270.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Linux修改主机名后MySQL无法启动怎么解决
上一篇 2025年11月4日 09:09:14
虚拟ai聊天app排行榜 2025虚拟ai聊天软件前十推荐
下一篇 2025年11月4日 09:09:20

相关推荐

发表回复

登录后才能评论
关注微信