Maven项目打包为jar的几种方式[通俗易懂]

您所在的位置:网站首页 项目打包方式有几种 Maven项目打包为jar的几种方式[通俗易懂]

Maven项目打包为jar的几种方式[通俗易懂]

2023-08-18 20:02| 来源: 网络整理| 查看: 265

大家好,又见面了,我是你们的朋友全栈君。

Maven项目打包为jar的几种方式

这里收集整理下以往打包MAVEN项目为JAR包的各种方式

##直接打包,不打包依赖包 直接打包,不打包依赖包,仅打包出项目中的代码到JAR包中。在POM中添加如下plugin即可,随后执行maven install

org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 将依赖JAR包输出到lib目录方式

将项目中的JAR包的依赖包输出到指定的目录下,修改outputDirectory配置,如下面的${project.build.directory}/lib。如想将打包好的JAR包可以通过命令直接运行,如java -jar xx.jar,还需要制定manifest配置的classpathPrefix与上面配置的相对应,如上面把依赖JAR包输出到了lib,则这里的classpathPrefix也应指定为lib/;同时,并指定出程序的入口类,在配置mainClass节点中配好入口类的全类名。 这种打包方式对于JAVA项目是通用的,不管是不是springBoot的项目还是传统的JAVA项目,都可行。

org.apache.maven.plugins maven-compiler-plugin 1.7 1.7 UTF-8 org.apache.maven.plugins maven-jar-plugin true lib/ com.yourpakagename.mainClassName org.apache.maven.plugins maven-dependency-plugin copy install copy-dependencies ${project.build.directory}/lib

有时为了方便,可以把classpath初在当前目录上,默认的classpath会在jar包内,可以在Main方法配置后加上manifestEntries配置,指定classpath,如:

org.apache.maven.plugins maven-jar-plugin target/classes/ com.yourpakagename.mainClassName false true lib/ . 将项目依赖包和项目打为一个包

这种方式打包会将项目中的依赖包和项目代码都打为一个JAR包,其配置如下:

org.apache.maven.plugins maven-assembly-plugin 2.5.5 com.xxg.Main jar-with-dependencies

但此种方式对于传统的JAVA项目打包没问题,如是打有spring框架的JAR包就不可以了。可以采用maven-shade-plugin的插件来打包,来实现spring框架的打包 有好几位朋友说不能在使用此配置时无法将项目的依赖也打到一个JAR包中,通过追溯发现由于是执行的package命令导致发。此处应执行插件的assembly命令。如下图:

assembly打包插件说明springBoot项目打包

springBoot项目打包最常用且最简单的方式是用springBoot的打包plugin

org.springframework.boot spring-boot-maven-plugin

在POM中加入此插件,再点击maven [install]或[repackge]就会把当前项目里所有依赖包和当前项目的源码都打成一个JAR包,同时还会将没有依赖包的JAR包也打出来,以.original的就是了

groovy项目打包

如果项目中包含groovy代码,默认采用MAVEN打包时不会将groovy代码进行打包,需要加入如下配置

org.codehaus.gmavenplus gmavenplus-plugin 1.2 addSources addStubSources compile execute

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133066.html原文链接:https://javaforall.cn



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3