一、用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管理工具代替执行上面的命令,如下图所示,依次点击蓝色的部分即可打包成功:

615d72ab66d34e12332fd48094575924.png

测试:

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

d8a4ce4ea906ea1f62168858498c2d98.png

a6de3beda41aeed230cc692369174981.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管理工具代替执行上面的命令:

ea2b4ced4fd5a0b5854a252c8235b82a.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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐