java打成可执行的jar_Java 将Maven项目打成可执行jar包

一、用maven-shade-plugin打包

在pom.xml文件中加入如下信息,利用Maven的maven-shade-plugin插件进行打包。

org.apache.maven.plugins

maven-shade-plugin

1.4

package

shade

*:*

META-INF/*.SF

META-INF/*.DSA

META-INF/*.RSA

net.test.HelloWorld

META-INF/spring.handlers

META-INF/spring.schemas

其中net.test.HelloWorld标签中配置的是项目程序的主入口,加入插件信息后的最终pom.xml文件如下:

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">

4.0.0

testDemo

HelloWorld

1.0.0

jar

HelloWorld

http://maven.apache.org

UTF-8

org.apache.maven.plugins

maven-shade-plugin

1.4

package

shade

*:*

META-INF/*.SF

META-INF/*.DSA

META-INF/*.RSA

net.test.HelloWorld

META-INF/spring.handlers

META-INF/spring.schemas

com.googlecode.log4jdbc

log4jdbc

1.2

runtime

com.microsoft.sqlserver

sqljdbc4

4.0

oracle

ojdbc7

12.1.0.2

mysql

mysql-connector-java

5.1.47

com.alibaba

fastjson

1.1.39

org.apache.logging.log4j

log4j-core

2.7

org.springframework

spring-core

4.3.20.RELEASE

org.springframework

spring-context

4.3.20.RELEASE

javax.transaction

javax.transaction-api

1.2

org.apache.commons

commons-lang3

3.0.1

然后就可以执行以下Maven命令进行打包了:

mvn clean compile //清除之前target编译文件并重新编译

mvn clean package //对项目进行打包(因为配置过插件,所以jar包是可执行的)

mvn clean install //安装项目,然后就可以使用了

也可以使用IDEA自带的maven管理工具代替执行上面的命令,如下图所示,依次点击蓝色的部分即可打包成功:

90d5745c103926b9d3325dd9980b5fbc.png

测试:

打好包后,找到jar包位置,在jar包所在文件夹空白处 Shift + 右击——在此处打开命令窗口,通过 java -jar 包名.jar 命令即可运行,如下图所示:

e5a17a5ee2b7ad1c21a84709286c12fd.png

aa7435499d2bf1b5b0a3e3a43aaf2e00.png

即将Maven项目打包为cmd可执行jar成功!

二、用maven-assembly-plugin打包

在pom.xml文件中加入如下信息,利用Maven的maven-assembly-plugin插件进行打包。

maven-assembly-plugin

2.4

jar-with-dependencies

net.test.HelloWorld

make-assembly

package

single

其中net.test.HelloWorld标签中配置的是项目程序的主入口,然后就可以执行以下Maven命令进行打包了:

mvn assembly:assembly

也可以使用IDEA自带的maven管理工具代替执行上面的命令:

7f832d35b47f2aca3517534581e6f026.png

测试如上!!!

注:成功后的jar包中META-INF 目录中的 MANIFEST.MF,内容如下(下列属性冒号后有一空格):

Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Built-By: BigBoss

Created-By: Apache Maven 3.3.9

Build-Jdk: 1.8.0_131

Main-Class: net.test.HelloWorld

标签:maven,Java,jar,HelloWorld,Maven,META,INF

来源: https://www.cnblogs.com/Big-Boss/p/11328256.html


版权声明:本文为weixin_31817039原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。