自学内容网 自学内容网

命令行打包Java工程

Java工程打包常用命令

mvn打包

-Dmaven.test.skip=true表示跳过测试

-Dmaven.repo.local可用于指定本地maven仓库路径

例如:

mvn clean package -Dmaven.test.skip=true -Dmaven.repo.local=/my/mvn/repo

非maven工程war打包脚本

WAR包结构分析:

xxx.war
 |-META-INF     //存储war的基础信息,比如构建作者,使用的jdk版本等,主要是MANIFEST.MF
 |-somefile.xx  //war包根目录下的文件就像nginx中的静态资源,可被浏览器直接访问
 |-WEB-INF      // WEB-INF不能像静态资源那样被浏览器直接访问,而是受web.xml的控制
 |-web.xml   //
 |-classes   // 所有编译后的.class文件会放在这里面,该目录会加到CLASSPATH中
 |-lib       // 放各种依赖的jar包,这些jar包会加到CLASSPATH中
 |-其他目录

下面是一个示例脚本,mywar作为war包的根目录

#!/usr/bin/env bash

set -x

rm -fr mywar/* || exit 1

mkdir mywar/WEB-INF/classes -p || exit 1
find src -name *.java > javaFiles.txt || exit 1
javac -g -d mywar/WEB-INF/classes -classpath .:mywar/WEB-INF/classes:WebContent/WEB-INF/lib/* @javaFiles.txt || exit 1

cp -r src/* mywar/WEB-INF/classes || exit 1
find mywar/WEB-INF/classes -name *.java -exec rm -f {} \; || exit 1
cp -r resources/* mywar/WEB-INF/classes || exit 1

cp -r WebContent/* mywar/ || exit 1

cd mywar || exit 1
zip -r ../MYAPP.war * || exit 1

原文地址:https://blog.csdn.net/dengruijin/article/details/143781304

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!