maven打包java工具类_maven 打包可执行jar的方法

在这之前,我自己找了点maven的东西添加进来

Maven内置变量说明:

${basedir} 项目根目录

${project.build.directory} 构建目录,缺省为target

${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes

${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}

${project.packaging} 打包类型,缺省为jar

${project.xxx} 当前pom文件的任意节点的内容

方式1

修改pom.xml增加如下内容

org.apache.maven.plugins

maven-jar-plugin

2.4

true

lib/

com.sysware.HelloWorld

运行mvn clean package即可

批注:

经过我本人自测之后发现,这种方式虽然可以打包,但是不会将依赖包也添加进去。所以我认为这种方式的打包适合写一个工具,然后打成JAR包,导入其他工程使用,如果是一个单独运行的JAR包,则不适用。

方式2

在pom.xml增加如下内容

org.apache.maven.plugins

maven-assembly-plugin

2.3

false

jar-with-dependencies

com.juvenxu.mvnbook.helloworld.HelloWorld

make-assembly

package

assembly

运行mvn assembly:assembly (

我自己使用mvn clean package也是可以的)

批注:

这个方式和方式1不同,这种打包方式,将项目及所依赖的所有jar包打包成一个jar,让打出来的JAR包成为一个可独立运行的JAR包

方式3

批注:

我自己在博主的基础上,添加了一些配置和注释

方式3和方式4都是比较复杂的打包方式,但是可以自己定义细节,比如需要哪些文件被打包,哪些文件不打包进去,哪些文件放到哪里等等。

test-${project.version}

src/main/java

src/main/resources

${project.build.directory}

*.txt

*.properties

org.apache.maven.plugins

maven-compiler-plugin

lib

1.7

1.7

UTF-8

org.apache.maven.plugins

maven-jar-plugin

true

lib/

com.eya.main.Hello

org.apache.maven.plugins

maven-dependency-plugin

copy

package

copy-dependencies

${project.build.directory}/lib

org.apache.maven.plugins

maven-resources-plugin

2.4

UTF-8

maven-source-plugin

2.1

true

UTF-8

compile

jar

方式4

${project.build.directory}/classes

src/main/resources

true

**/*.xml

org.apache.maven.plugins

maven-compiler-plugin

3.0

1.6

1.6

UTF-8

org.apache.maven.plugins

maven-shade-plugin

2.0

package

shade

implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

com.test.testguava.app.App

implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">

applicationContext.xml

true

executable

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值