告诉大家,Ant + Maven 非一般的感觉..
Maven项目,一个父Maven项目,2个子Maven模块
父Mavenpom可以通过一起打包2个子模块,2个子模块也可以单独打包。
**父Maven项目:
springcloudmanagement
**2个子Maven模块:
springcloudmanagement.service.A
springcloudmanagement.webapp.B
将Ant脚本放在父Maven项目下,和pom文件同级目录(记得好像是同级目录),ant读取pom文件配置之后,遍历2个子maven模块,ant通过调用maven命令来完成清理,编译,打包操作,然后将jar包上传到远程的linux服务器上,关闭服务,删除临时目录,然后重启服务。
Action:
上传需要第三方的scp ftp jar(jsch-0.1.42.jar)文件
ant调maven插件(maven-ant-tasks-2.1.3.jar)
原生打包方式(spring-boot-loader-1.4.1.RELEASE.jar)
image.png
#set environment path
MAVEN_HOME=F:/shaoytsh_data/For_Java/apache-maven-3.3.9
M2_REPO=E:/JAVA/maven
ANT_HOME=F:/Program Files/apache-ant-1.9.6
#upload jar config
SERVER=10.0.31.224
PORT=21
USERNAME=root
PASSWORD=sugon123
#set operate dirs
GV_DIR=/opt/gridview
GV_BUNDLES_DIR=/usr/realse/test/
DEST_DIR=${GV_DIR}/application/
#DEST_DIR=${GV_DIR}/core_platform/
#DEST_DIR=${GV_DIR}/lazystart/
RM_ROOT_RUNNER_DIR=${GV_DIR}/runner
RM_BIN_RUNNER_DIR=${GV_DIR}/bin/runner
SUB_POM_DIRS=shaoytsh_springCloud,shaoytsh-antPackage-Service,
#set service commands
CMD_SERVICE_STOP=service gridview_platform stop
CMD_SERVICE_START=service gridview_platform start
CMD_SERVIEC_RESTART=service gridview_platform restart
xmlns:artifact="uri:org.apache.maven.artifact.ant">
Sysmanagement logaduit
================== build.properties ================
PROJECT_NAME=${ant.project.name}
GV_DIR=${GV_DIR}
DEST_DIR=${DEST_DIR}
RM_ROOT_RUNNER_DIR=${RM_ROOT_RUNNER_DIR}
RM_BIN_RUNNER_DIR=${RM_BIN_RUNNER_DIR}
uri="uri:org.apache.maven.artifact.ant"
classpathref="maven-ant-tasks.classpath" />
init mvn finished..
mvn clean finished..
mvn package finished..
mvn install finished..
The build directory is ${mypom.build.directory}
${mypom.modules}
depends="shutdown_service, delete_runner_dir">
command="${CMD_SERVICE_STOP}" trust="true"/>
command="rm -fr ${RM_BIN_RUNNER_DIR}" trust="true"/>
command="rm -fr ${RM_ROOT_RUNNER_DIR}" trust="true"/>
command="${CMD_SERVIEC_RESTART}" trust="true"/>