Ant使用一例—Ant调用Maven,上传,执行shell,遍历目录,读取pom文件

 

去年项目写的Ant脚本,还是花了很多时间。。说明Ant用的还不熟练啊。。

 

这个例子告诉大家,Ant+Maven,非一般的感觉..

 

简介:

Maven项目,一个父Maven项目,2个聚合的Maven模块

sysmanagement.service.logaudit,sysmanagement.webapp.logaudit

父Mavenpom可以通过聚合打包2个子模块,2个子模块也可以单独打包。

 

父Maven项目:sysmanagement

2个被聚合的Maven模块:sysmanagement.service.logaudit,sysmanagement.webapp.logaudit

 

功能:将Ant脚本放在父Maven项目下,和pom文件同级目录(记得好像是同级目录),ant读取pom文件配置之后,遍历2个子maven模块,ant通过调用maven命令来完成清理,编译,打包操作,然后将jar包上传到远程的linux服务器上,关闭服务,删除临时目录,然后重启服务。

 

注意:上传需要第三放的scp ftp jar(jsch-0.1.49.jar)文件,ant调maven插件(maven-ant-tasks-2.1.3.jar)

 

配置文件:

#set environment path
M2_REPO=E:/MavenRepo
ANT_HOME=D:/Developer/apache-ant-1.8.3
MAVEN_HOME=D:/Developer/apache-maven-3.0.4

#upload jar config
SERVER=10.0.31.224
PORT=21
USERNAME=root
PASSWORD=sugon123


#set operate dirs
GV_DIR=/opt/gridview
GV_BUNDLES_DIR=/opt/gridview/bundles/
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=../sysmanagement.service.logaudit,../sysmanagement.webapp.logaudit

#set service commands
CMD_SERVICE_STOP=service gridview_platform stop
CMD_SERVICE_START=service gridview_platform start
CMD_SERVIEC_RESTART=service gridview_platform restart

 

 

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}
	


	
	
		
		
		init mvn finished..
	

	
	
		
			
		
		mvn clean finished..
	

	
	
		
			
		
		mvn package finished..
	

	
		
			
		
		mvn install finished..
	

	
	
		
		
		
		The build directory is ${mypom.build.directory}
		${mypom.modules}
		
		
	
	
	
	
		
		
		
			
				
				
			
		
	

	
	
		
		
			
				
			
		
	
	
	
	
		
		
		
		

	
	
	
	
		
		
		
		
	
	
	
	
		
		
		
		
		
	

 

 

 

 

 

 

 

你可能感兴趣的:(Ant&Maven,java,shell,操作系统)