maven编译打包速度优化
A. java Maven打包总结(Jenkins多模块编译部署)
原文地址: Java Maven打包总结(Jenkins多模块编译部署)
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打物液包)、install等8个阶段。
完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
可以看森和到主要区别在把生成的jar包最终存放的位置, package只管打包; install把打好的包放到了本地maven仓库;deploy是同时放到本地仓库和远程maven私服
这里本地仓库默认是 /root/.m2/repository/ ,具体配置在 ${M2_HOME}/conf/settings 的 localRepository 配置项决定。远程私服仓库一般是nexus,具体地址在项目的pom.xml中配置。比如
一般是进入父级目录之后执行
如果是多级目录罩春物的话,有时候并不一定是按照 具体的项目来 编译,比如
这个时候如果一个项目一个项目来编译会超级多,很繁琐,这里是按照 subparentproject 来编译,命令如下
有个注意的地方:
subparentproject 目录下的pom.xml文件中一定有类型如下的配置
1、需要安装插件 Extended Choice Parameter Plug-In 可以支持参数单选、多选
2、项目选择"自由风格",而不是maven编译
3、在“构建” -> "执行shell" 中编写 子模块编译脚本及其后续处理
具体配置如下图
“构建” -> "执行shell" 中的处理脚本
附加:
Linux Bash下字符串操作总结
B. 求教java maven项目打包引入的问题,求大神解答
如果在另一个Maven项目中引入了一个打包好的jar包,并且在运行时发现缺少jar包中所依赖的第三方库,有以下几种解决方法。
使用maven-shade-plugin插件:在打包项目的pom.xml中配置maven-shade-plugin插件,让它将所有的依赖库打包进jar中。
在引入的jar包的pom.xml中增加第三方库的依赖配置, 编写dependency:unpack命令,将对应的第三方库依赖解压在项目中。
使用maven-dependency-plugin来解决问题,将依赖库重新复制到本地仓库中, 并在需要使用的项目中通过maven-dependency-plugin来引入这些依赖库。
在打包好的jar中加入manifest文件,在manifest文件中配置Class-Path,将第三方库路径配置在Class-Path中,然后将这些第三方库放在同一目录下。
将jar包中的第三方库放在项目的lib目录下,然后在项目的编译打包的时候加上lib路径,这样可以保证第三方库能够被项目读取到.
选择其中一种方法来实现可以根据具体的项目情况来确定,并且在解决问题的时候需要结合项目的特点进行选择.
C. 如何提高maven的package和install的速度
在公司或自己的服务器搭建个Nexus私服。
Maven build 等同于Maven命令:
1
mvn package
对Maven工程进行打包。
Maven Clean等同于Maven命令:
1
mvn clean
表示删除maven工程的target目录下的内容。
Maven Install等同于命令:
1
mvn install
表示将jar包发布到本地maven仓库。
D. 如何使用maven在本地编译打包
检查是有已经安装maven工具,cmd窗口中执行mvn命令。检查已经安装maven工具(如果不是mvn工程,需要将java工程转换成mvn工程):
在mvn工程的pom.xml配置文件中指定jdk版本:
在mvn工程的pom.xml配置文件中 <mainClass>指定可执行jar包主类
用cmd进入 cd 到工程目录下 ,执行如下mvn -DskipTests clean package
mvn编译完成,提示如下信息:
在工程目录下找到可执行的jar,如:E:\eclipse_workspace\dictionary_analysis\target\FindCrossWord-0.0.1.jar
通过cmd利用java命令执行此jar包:
E:\eclipse_workspace\dictionary_analysis\target>
java -jar FindCrossWord-0.0.1.jar
E. maven打包问题,如何打包配置文件
pom.xml文件配置:如果配置文件放在src/main/resources目录下,maven默认会把这个文件夹下的文件复制到classes目录下,如果不是放在默认目录下,可以手动指定Resources目录和输出目录。配置如下:
<build>
<finalName>WEBAPP</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
F. 如何打包运行maven项
用命令行完成打包操作,首先需要在开始-运行-cmd,打开cmd命令窗口,使用命令打包,命令为“mvn clean package”,此时会将当前工程执行打包操作,打包成功后会生成*.war形式的war包。
1.使用命令行完成打包操作,首先需要在开始-运行-cmd,打开cmd命令窗口。
G. maven项目什么时候用到编译,打包
你写完代码的时候,编译可以测试是否有错误,打包可以jar可以war,前者可以像其它jar一样被调用,后者用于发布项目