千家信息网

用maven将swing项目打成可执行jar包(含依赖)

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,本文介绍通过maven将项目打成可执行jar包的方法。本文需要读者具备maven基础知识,了解maven的一般配置、插件配置,了解maven的phase、goal的概念,了解dependency和ma
千家信息网最后更新 2024年11月29日用maven将swing项目打成可执行jar包(含依赖)

本文介绍通过maven将项目打成可执行jar包的方法。

本文需要读者具备maven基础知识,了解maven的一般配置、插件配置,了解maven的phase、goal的概念,了解dependency和manifest的作用。

先决条件:

(本文所述方法适用于项目的特点)

1、项目必须是maven项目;

3、项目中必须有一个主入口类,在用户双击打包后的jar文件时可以被执行。

打包:

第一种情况:独立项目,且无第三方依赖包

这种情况下,我们需要maven的maven-jar-plugin插件来帮我们打包。请在项目pom.xml中的plugin配置处加入如下内容:(注意看注释部分)

...    maven-jar-plugin    2.3.2                                        true                                                lib/                com.yourProjectPackage.YourEntranceClass                        ...

然后用mvn clean install来编译安装你的项目。命令执行结束后会生成一个jar文件,一个lib文件夹(如果你的项目引用了3rd-party dependencies的话)。双击jar文件,就立刻看到效果了。有界面的项目应该能看到主界面(如果你程序没错的话),没有界面的,应该可以从你机器的java console里看到相关信息,或者项目自身有log输出或具有神奇的效果的,可以直接去检视输出结果。


第二种情况:项目+第三方依赖包

这种情况就无法使用maven-jar-plugin插件来打包了。我们要用另一个插件maven-assembly-plugin。这个插件可以帮助我们灵活的打包我们的项目(不仅打包jar项目,还可以用于ear、war等项目的打包,本文只介绍如何打可执行jar包)。这里,我们使用此插件将我们的source code编译结果以及项目的dependencies打到一起,形成一个jar文件。

下面就是项目的pom.xml中plugin的配置部分:

    maven-assembly-plugin    2.6                                                com.your.package.YourEntranceClass                                                        jar-with-dependencies                                    make-assembly                                    package                            single                        

添加了此plugin之后,就可以clean install你的maven项目了。然后在maven命令执行结束后的console里会找到类似以下内容:

--- maven-install-plugin:2.4:install (default-install) @ MvnCfgSwitcher ---
Installing F:\uuuu\vvvv\Wwwww\target\Wwwww-1.0-SNAPSHOT.jar to Y:\mvn_repo\com\yourname\Wwwww\1.0-SNAPSHOT\Wwwww-1.0-SNAPSHOT.jar
Installing F:\uuuu\vvvv\Wwwww\pom.xml to Y:\mvn_repo\com\yourname\Wwwww\1.0-SNAPSHOT\Wwwww-1.0-SNAPSHOT.pom
Installing F:\uuuu\vvvv\Wwwww\target\Wwwww-1.0-SNAPSHOT-jar-with-dependencies.jar to Y:\mvn_repo\com\yourname\Wwwww\1.0-SNAPSHOT\Wwwww-1.0-SNAPSHOT-jar-with-dependencies.jar

其中蓝色标识部分就是生成的all-in-one的可执行jar文件。


快双击打包结果试试看吧,亲!



0