apache ant从svn下载代码并将其编译打包
来源:互联网 发布:手机淘宝联盟使用教程 编辑:程序博客网 时间:2024/05/22 18:21
- 解压文件夹apache-ant-1.8.2.rar,将解压的文件夹放在D盘
- 修改环境变量:右击计算机==》属性==》高级系统设置==》高级==》环境变量
在PATH中D:\apache-ant-1.8.2\bin ANT_HOME中D:\apache-ant-1.8.2
CLASSPATH中D:\apache-ant-1.8.2\lib
3.ant验证:win+R -- cmd
- 输入如下命令:ant
- 如果出现如下内容,说明安装成功:
- Buildfile: build.xml does not exist!
- Build failed
- 说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立。
- 查看版本:ant -version
- 但如果出现
- 'ant' 不是内部或外部命令,也不是可运行的程序或批处理文件
- 说明安装失败
- 拷贝build.xml文件放在D盘根目录下,修改里面的svn路径以及svn的用户名密码,同时在D盘新建文件夹cfiles,该文件夹新建两个文件夹antTemp和publish,一个放从svn拷贝的项目,一个放打成war包的文件
- 运行xml文件:win+R --cmd 先找到build.xml的目录下然后输入如下命令:ant -buildfile build.xml;
build.xml文件
<?xml version="1.0" encoding="utf-8"?><project basedir="/cfiles/antTemp" name="myProject" default="packageWar"><!-- SVN相关属性 --><!-- SVN 用户名--><property name="svn.username" value="quanmin" /><!-- SVN密码 --><property name="svn.password" value="Qm123456" /><!-- SVN需要的一些jar包,我把它放到ant目录下了,你也可以放到其他目录--><property name="svn.libPath" value="d://apache-ant-1.8.2/svnlib" /><!-- SVN地址 --><property name="svn.repository" value="https://192.168.10.123/svn/test" /><!-- 项目名称 --><property name="projectName" value="testssm" /><!-- SVN检出目录 --><property name="svn.checkoutDir" value="/cfiles/antTemp" /><property name="svn.checkOutProject" value="${svn.checkoutDir}/${projectName}" /><!-- 构建相关属性 --><!-- war包保存目录 --><property name="dir.warPath" value="/cfiles/publish" /><!-- javaee.jar包所在目录,如果是web项目的话,编译的时候会用到它,我把它放到ant目录下了,你也可以放到其他目录 --><property name="dir.javaee" value="d://apache-ant-1.8.2/je" /><!-- 项目名称项目中源文件夹,我这里有两个,src和config,一个里边是java代码,一个是配置文件--><property name="dir.src" value="${svn.checkOutProject}/src" /><!--property name="dir.config" value="${svn.checkOutProject}/config" /--><!--WebRoot目录--><property name="dir.web" value="${svn.checkOutProject}/WebRoot" /><!--项目依赖的jar包--><property name="dir.lib" value="${dir.web}/WEB-INF/lib" /><!--编译后的class文件保存目录--><property name="dir.classes" value="${dir.web}/WEB-INF/classes" /><property name="ContextRoot" value="ROOT" /><!-- 日期格式yyyyMMdd 主要是为了生成目录 --><tstamp prefix="tempPro."><format property="today" pattern="yyyyMMdd" /></tstamp><!-- 项目编译依赖的jar包,包括lib下的jar和javaee.jar --><path id="applib"><fileset dir="${dir.lib}"><include name="**/*.jar" /></fileset><fileset dir="${dir.javaee}"><include name="javaee.jar" /></fileset></path><!-- SVNKit相关包lib --><path id="svnlib"><fileset dir="${svn.libPath}"><include name="*.jar" /></fileset></path><!-- SVN检出项目代码 --><target name="svnCheckout"><echo message="删除原始文件,重新Checkout" /><delete dir="${svn.checkOutProject}" /><echo message="Checkout最新代码" /><java classname="org.tmatesoft.svn.cli.SVN" dir="${svn.checkoutDir}" fork="true"><arg value="checkout" /><arg value="--username" /><arg value="${svn.username}" /><arg value="--password" /><arg value="${svn.password}" /><arg value="${svn.repository}/${projectName}" /><classpath refid="svnlib" /></java></target><!-- 删除classes目录,为编译构建做准备 --><target name="clean"><delete dir="${dir.classes}" /></target><!-- 编译构建项目 --><target name="compile" depends="svnCheckout,clean"><echo message="编译Java文件" /><mkdir dir="${dir.classes}" /><!--如果有多个源码包的话,每个源码包都要编译,我这里只有srcdestdir:编译后的class文件保存目录srcdir:源码目录excludes:排除文件(这里将svn相关的一些文件排除)includeAntRuntime:指出是否应在类路径中包括 Ant 运行时程序库,默认为 yesclasspath:导入需要使用的jar包--><javac encoding="utf-8" destdir="${dir.classes}" srcdir="${dir.src}"excludes="**/.svn/**" includeAntRuntime="false"><classpath refid="applib" /></javac><!--如果有多个源码包的话,每个源码包都要编译,我这里只有src--><echo message="拷贝资源文件" /><copy todir="${dir.classes}" preservelastmodified="true"><!--fileset dir="${dir.config}" excludes="**/*.java"></fileset--><fileset dir="${dir.src}" excludes="**/*.java"></fileset></copy></target><!-- 打包 --><target name="packageWar" depends="compile"><war destfile="${dir.warPath}/${tempPro.today}/${projectName}.war"basedir="${dir.web}" /><!-- echo message="删除文件" /><delete dir="${svn.checkOutProject}" /--></target> <!-- 打包 <target name="makewar" depends="complie"> <war warfile="${build}/newbssqyl.war" webxml="${build}/WEB-INF/web.xml"> <lib dir="${build}/WEB-INF/lib"> <include name="**" /> </lib> <classes dir="${build}/WEB-INF/classes"/> <fileset dir="${build}"/> </war> </target> --> <!--压缩,打包 <target name="packageWar" depends="compile" description="======compress j2ee war file======"> <mkdir dir="${svn.checkOutProject}" /> <war destfile="${dir.warPath}/${tempPro.today}/${ContextRoot}.war" webxml="${dir.web}/WEB-INF/web.xml"> <fileset dir="${dir.web}" /> <classes dir="${dir.classes}" /> <lib dir="${dir.lib}" /> </war> </target>--><!-- 发布war包 这个是IBM的WebSphere 发布用的,利用它的wsadmin发布,我这里是tomcat 所以注释掉了<target name="updateApp" description="Uninstall an Enterprise Application" depends="packageWar"> <sshexec host="192.168.1.123" username="useranme" password="password" trust="true" command="/opt/IBM/WebSphere/AppServer/profiles/BPS/bin/wsadmin.sh -instance instance -c '$AdminApp update CRMBps_NEW_war app {-operation update -node nodeBPS -contextroot ${ContextRoot} -contents ${dir.warPath}/${ContextRoot}.war}'" /></target> --></project>
ok。。去试试。需要apache-ant-1.8.2.rar的留下邮箱
0 0
- apache ant从svn下载代码并将其编译打包
- 利用ant从svn更新项目编译打包并发布项目的脚本
- CentOS系统下Apache Ant自动从SVN获取代码并通过Tomcat集群发布工程
- CentOS系统下Apache Ant自动从SVN获取代码并通过Tomcat集群发布工程
- 利用ant自动从vss下载代码并编译到自动发布
- 使用Ant自动从Svn下载文件,编译,启动站点
- 从github下载代码并通过eclipes打包
- apache ant 的使用--编译、打包
- 从服务器上更新代码后编译文件并打包
- 通过Ant将Android project编译打包成APK文件并安装到手机
- 通过Ant将Android project编译打包成APK文件并安装到手机
- 用批处理实现从SVN拉取并编译代码
- Ant 构建工具(从SVN下载项目 ,编译,到tomcat下运行项目)
- ant学习笔记(四)ant整合javadoc直接生成java文档api并将其打包之后上传到FTP服务器上面
- 如何将新的svn地址添加到svn资源库,并将项目从svn资源库下载到myeclipse
- ant支持svn插件下载代码
- shell脚本从SVN下载项目并自动打包IPA和plist文件
- Eclipse配置svn 并从svn上面下载项目(将eclipse上面项目添加到svn上)
- 学习springmvc的注释搭建框架
- Android 系列 6.5控制操作栏
- SecureCRT 屏幕输出行数设置
- opencv学习之图像阈值化
- 7. Reverse Integer
- apache ant从svn下载代码并将其编译打包
- npm如何升级自身
- jquery的方法
- List有顺序吗?
- 封装一个双色球选号码的方法
- 你不知道的js(中)之基本类型
- 回首16展望17
- 机器学习笔记(二)模型评估与选择
- android用eclips混淆打包