linux下ant的build.xml脚本
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
该脚本我是放在项目的根目录即跟src和.project等文件同级别
脚本如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义一个工程,默认执行任务名为warFile。 -->
<project name="im" default="warFile" basedir=".">
<!-- 定义属性,打成war包的名称。 -->
<property name="warFileName" value="im.war"></property>
<!-- tomcat根目录 -->
<property name="tomcat.home" location="/usr/local/tomcat" />
<!--用于存war包目录-->
<property name="war.dir" location="/root/data/war" />
<!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->
<target name="clean">
<delete dir="${basedir}/target/build" />
<mkdir dir="${basedir}/target/build/class" />
<mkdir dir="${basedir}/target/build/lib" />
</target>
<target name="copyjar" depends="clean">
<!--flatten 不复制目录,主要是因为xml都属于classpath-->
<copy includeemptydirs="false" flatten="true" todir="${basedir}/target/build/class">
<fileset dir="${basedir}/src/main" includes="**/*.xml,**/*.properties,**/*.dll" excludes="webapp/**,**/*.jar,**/*.class"/><!-- 复制配置文件等 -->
</copy>
<!--复制jar包到临时目录,其实应该从/WEB-INF/lib下复制的-->
<copy includeemptydirs="false" todir="${basedir}/target/build/lib">
<fileset dir="/root/data/deploy/im-jar">
<include name="**/*.jar"/>
</fileset>
</copy>
</target>
<!--需要编译的jar包-->
<path id="libraryclasspath">
<fileset dir="/root/data/deploy/im-jar">
<include name="**/*.jar"/>
</fileset>
<!--把tomcat的相关jar包也编译-->
<fileset dir="${tomcat.home}/lib" includes="***.jar"></fileset>
</path>
<!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->
<target name="compile" depends="copyjar">
<javac srcdir="${basedir}/src" destdir="${basedir}/target/build" includeantruntime="false" encoding="UTF-8" debug="true">
<compilerarg line="-XDignore.symbol.file"/>
<classpath refid="libraryclasspath"/>
</javac>
</target>
<!-- 定义默认任务,将class文件集合成jar包。 -->
<target name="warFile" depends="compile">
<!-- 删除原有war包。 -->
<delete dir="${war.dir}/${warFileName}" />
<!-- 建立新war包。 -->
<war destfile="${war.dir}/${warFileName}" webxml="${basedir}/src/main/webapp/WEB-INF/web.xml">
<!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->
<fileset dir="${basedir}/src/main/webapp"><!-- 源目录 -->
<include name="**/**.*" />
<exclude name="**/*.jar"/>
<exclude name="**/*.class"/>
</fileset>
<!-- 将jar和class文件拷贝到war包的对应路径下。(/WEB-INF/classes和/WEB-INF/lib) -->
<classes dir="${basedir}/target/build/class" /><!-- 源目录 -->
<lib dir="${basedir}/target/build/lib" /><!-- 源目录 -->
</war>
</target>
</project>
编写脚本sh调用build.xml打包
#! /bin/sh
echo "**************************deploy**********************************"
cd /root/data/im-server
svn update
echo "**************************update complete!!**********************************"
ant -f build.xml
read -p "ant is install success? [y/n] " isSuccess
if [ $isSuccess="y" ]; then
echo "****************Release im-server Success!!!!**********************"
else
echo "****************Release im-server error!!!!**********************"
echo "****************exit!!!**********************"
exit;
fi
cp -rf /root/data/im-server/target/im.war /root/data/war/
rm -rf /root/data/deploy/im-server/ROOT/*
cd /root/data/war
unzip -oq im.war -d /root/data/deploy/im-server/ROOT
service tomcat restart
形成war包如下:
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献1条内容
所有评论(0)