生成带依赖Jar 包的两种常用方式:IDEA打包工具:Artifacts 和 maven-shade-plugin

生成带依赖Jar 包的两种常用方式:IDEA打包工具:Artifacts 和 maven-shade-plugin

文章目录

前言1、IDEA打包工具:Artifacts1.1 创建Artifacts1.2 选择第三方jar文件1.3 打包Artifacts1.4 测试jar包

2、maven-shade-plugin2.1、pom文件添加2.2、打包2.3、测试jar包

总结

前言

当我们编写完Java程序后,为了提高执行效率通常会将应用程序打包成JAR(Java Archive)包。JAR包中的类文件经过预编译和优化,可以直接被Java虚拟机(JVM)执行,而无需再次编译。这样可以避免重复的编译过程,减少了启动时间和运行时的开销。 为了保证生成的JAR包可以直接在虚拟机中运行,需要采用带依赖的打包方式。本文提供了两种常用的打包方式:

IDEA自带的打包工具: Artifacts;使用pom引入:maven-shade-plugin进行打包。

1、IDEA打包工具:Artifacts

1.1 创建Artifacts

使用快捷键(Ctrl+Alt+Shift+S)可以快速打开项目的Project Structure。 按照Artifacts==> “+” ==> “JAR” ==> "From modules with dependencies"的顺序

点击Main Class 。在Select Main Class==>Search by Name中选择选择程序的入口函数。 再点击上图的Ok,创建得到的artifacts。

1.2 选择第三方jar文件

通过 “+” 或者 “-” 选择需要打入artifacts的第三方jar文件,如图: Extracted后的JAR包是指从Jar包中提取出来的已经解压的文件,通常包括类文件、资源文件等等。如果没有这些文件,直接运行JarAR包会导致无法加载运行所需的类文件,从而提示类找不到的错误。 选择完第三方Jar文件后,点击Apply和OK,保存配置信息。

1.3 打包Artifacts

在菜单栏目找到Build,选择Build Artifacts。

最后窗口,点击Build们就可以生成JAR包了。

打包后的位置在左侧的out中。

1.4 测试jar包

在jar包位置,右键选择Open in ==> Explorer ; 来到jar包的位置,在上方的地址栏直接输入“cmd” 执行命令:

java -jar

:为要执行的jar包名称

例如:

java -jar emSystem_install_UI.jar

执行结果。

2、maven-shade-plugin

我个人更喜欢使用maven-shade-plugin进行打包。它能够将Java项目打包成可执行的JAR文件,并自动包含所有依赖项,从而无需单独安装和配置所有的依赖项。

2.1、pom文件添加

在pom文件中加入以下内容:

org.apache.maven.plugins

maven-shade-plugin

2.4.1

package

shade

com.kbdct.swing.frame.panelSysAuth.test.TestMainSecond

元素指定了要使用的 Maven Shade Plugin 版本。

元素定义了一个插件执行

元素指定了这个插件执行的阶段,在这里是 package 阶段。

元素指定了要在执行时使用哪个插件(这里是 shade )。

元素包含了 Shade Plugin 的详细配置。

。是一个转换器。在这个例子中,转换器的功能是:为打包的 Jar 文件生成一个 MANIFEST.MF 文件。

元素中指定了可执行的 Java 类,这个类将作为启动项目时的主类。

2.2、打包

按照clean==>complie==>package的顺序进行打包。

在左侧会生成target文件,里面就有可以执行的jar文件

补充:使用 maven-shade-plugin 打包的项目被存储在 Maven 项目的 target 目录下,并生成三个文件:

1. “-SNAPSHOT” 后缀的 Jar 包: 原始的 Jar 包。“-SNAPSHOT” 后缀是 Maven 的一种命名规范,用于表示当前版本是一种开发中的、不稳定的版本。 2. “origin” 前缀的Jar包: 是没有经过重命名的依赖 Jar 包。这些 Jar 包通常包含项目依赖的库和框架。 3. “-SNAPSHOT-shaded” 后缀的 Jar 包: 是经过重命名的可运行 Jar 包。这个重命名避免了与其他依赖项名称冲突。在其中的MANIFEST.MF 文件中也包含了正确的主类信息。

2.3、测试jar包

测试的过程与1.4部分同理。建议运行-1.0-SHAPSHOT-shaded.jar结尾的jar包,此处直接展示测试结果。 执行命令:

java -jar

:为要执行的jar包名称

例如:

java -jar emSystem_install_UI-1.0-SHAPSHOT-shaded.jar

执行结果。

总结

介绍了两种打包方法:

IDEA打包工具:Artifactsmaven-shade-plugin插件

相关探索