一、简述
最近遇到一个java项目,由多个子项目组成,每次打包时,必须按顺序install一部分子项目,然后package另一个子项目,才能得到最终的jar/war包。
如果顺序搞错,就会打包失败;
如果修改代码后没有install,就会导致最终得到的jar/war包功能缺失……
每次都得install3-4个项目,然后package1个项目,顺序还不能错,很烦;
为了方便,本人写了一个bat脚本,可以按顺序install项目、package项目,记录在下方。
二、正文
1.bat脚本可以在windows下执行。(如果在其它平台开发java,则此脚本可供参考)
2.脚本中,cd的部分是进入到项目的pom.xml所在路径下。
3.具体的install、package命令,如果用idea开发,可以点击右侧的Maven Projects中对应项目
的install、package选项,然后下方命令行出现的第一行,就是具体的命令,直接复制使用即可。(这样可以保证命令的正确性,并且不用配置mvn环境变量)
4.clean命令可以与install/package命令分开执行,也可以一起执行,因此最终写成了clean install
与clean package
的形式(一起执行)。
5.脚本具体内容:
echo "clean install第1个项目,需要切换到第1个项目中有pom.xml的目录下"
D:
cd D:\test_project\project1
"C:\Program Files\Java\jdk1.8.0_144\bin\java" -Dmaven.multiModuleProjectDirectory=D:\test_project\project1 -Dmaven.test.skip=true -Dcheckstyle.skip=true -Dmaven.home=D:\apache-maven-3.5.0 -Dclassworlds.conf=D:\apache-maven-3.5.0\bin\m2.conf "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2018.1\lib\idea_rt.jar=61162:D:\Program Files\JetBrains\IntelliJ IDEA 2018.1\bin" -Dfile.encoding=UTF-8 -classpath D:\apache-maven-3.5.0\boot\plexus-classwords-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version=2018.1 -s D:\apache-maven-3.5.0\conf\settings.xml -Dmaven.repo.local=D:\apache-maven-3.5.0 -DskipTests=true clean install -f pom.xml
echo "clean install第2个项目,需要切换到第2个项目中有pom.xml的目录下"
echo"同上,省略"
echo "clean package第3个项目,需要切换到第3个项目中有pom.xml的目录下"
D:
cd D:\test_project\project3
"C:\Program Files\Java\jdk1.8.0_144\bin\java" -Dmaven.multiModuleProjectDirectory=D:\test_project\project3 -Dmaven.test.skip=true -Dcheckstyle.skip=true -Dmaven.home=D:\apache-maven-3.5.0 -Dclassworlds.conf=D:\apache-maven-3.5.0\bin\m2.conf "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2018.1\lib\idea_rt.jar=61162:D:\Program Files\JetBrains\IntelliJ IDEA 2018.1\bin" -Dfile.encoding=UTF-8 -classpath D:\apache-maven-3.5.0\boot\plexus-classwords-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version=2018.1 -s D:\apache-maven-3.5.0\conf\settings.xml -Dmaven.repo.local=D:\apache-maven-3.5.0 -DskipTests=true clean package -f pom.xml
echo "得到了第3个项目的jar/war包"
echo "按任意键退出"
pause
exit
再次提醒:
●上方的脚本不是直接复制就能用的;
●cd的项目路径要改成自己的项目路径
;
●具体的install/package命令,可以点击idea中的对应项目
的install/package,然后控制台打印的第一行复制出来、末尾改成clean install
或clean package
,然后就可以直接用了。