ant.properties
# JDK 路径
jdk.home.1.5=D\:/Java/jdk1.5.0_22
#项目名称
webapp.name=Demo
# war 排除的文件
war.exclude=**/WEB-INF/web.xml,**/WEB-INF/weblogic.xml,**/WEB-INF/resources/FineReport.lic,**/WEB-INF/resources/datasource.xml
war.exclude.classes= **/WEB-INF/classes/App.properties,**/WEB-INF/classes/log4j.properties,**/WEB-INF/classes/DbConfig.properties,**/WEB-INF/classes/JoltConfig.properties
#ftp(普通 FTP上传) #
ftp.server=192.168.1.202
ftp.password=1234
ftp.userid=1234
ftp.path=/home/app/
#ssh ( SFTP 上传) #
ssh.host=127.0.0.1
ssh.path=/home/app/bea/wls/user_projects/domains/bzsk/webapp
ssh.pwd=password
ssh.uname=username
# 执行ssh 命令 #
#ssh.path.webapp=/home/app/bea/wls/user_projects/domains/bzsk/webapp
ssh.server.bin=/home/app/bea/wls/user_projects/domains/bzsk/bin
ssh.cmd.openwar=source ~/.bash_profile ;cd / ; cd ${ssh.path} ; jar -xvf
ssh.server.start= cd / ; cd ${ssh.server.bin} ; ./startWebLogic.sh
ssh.server.stop= cd / ; cd ${ssh.server.bin} ; ./stopWebLogic.sh
ant.xml
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="usage" name="${project.name}">
<!--下句是import进ant属性配置文件,properties文件里存放基本的配置变量。该变量可以在build.xml中直接引用 -->
<property file="bzsk.properties"/>
<!--以下的几个属性是系统自带的,初始了tstamp之后,它们就有值了
${DSTAMP} ${TSTAMP} ${TODAY}
-->
<tstamp/>
<property name="war.name" value="${webapp.name}${DSTAMP}" />
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<target name="usage" depends="init">
<echo message="ant build ${project.name} -- ${DSTAMP}"/>
</target>
<target name="init">
<property name="debug" value="off"/>
<property name="optimize" value="on"/>
<property name="deprecation" value="on"/>
<!-- java源文件路径 -->
<property name="src.dir" value="${basedir}/src"/>
<!-- jar包路径 -->
<property name="lib.dir" value="${basedir}/lib"/>
<!-- webapp路径 -->
<property name="webapp.dir" value="${basedir}/jsp"/>
<property name="packages" value="com.*"/>
<!-- 准备源文件路径 -->
<property name="build.src" value="${basedir}/AntBuild/build"/>
<!-- 编译源文件路径 -->
<property name="build.dest" value="${basedir}/AntBuild/bin"/>
<!-- 准备webapp文件路径 -->
<property name="buildwar.dest" value="${basedir}/AntBuild/warsrc"/>
<!-- 打包war文件路径 -->
<property name="war.dest" value="${basedir}/AntBuild/war"/>
<!-- jre lib路径 -->
<property name="jre.lib" value="${jdk.home.1.5}/jre/lib"/>
<!-- classpath -->
<path id="classpath">
<!--j2ee-->
<!--<fileset dir="${j2eelib.dir}">-->
<!--<include name="**/*.jar"/>-->
<!--</fileset>-->
<fileset dir="${jre.lib}">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
<!--<pathelement location="lib/"/>-->
</path>
</target>
<!-- =================================================================== -->
<!-- 编译源文件-->
<!-- =================================================================== -->
<target name="build" depends="init">
<mkdir dir="${buildwar.dest}/WEB-INF/classes"/>
<delete>
<fileset dir="${buildwar.dest}/WEB-INF/classes" includes="**/*.*"/>
</delete>
<javac srcdir="${src.dir}" destdir="${buildwar.dest}/WEB-INF/classes" debug="${debug}" optimize="${optimize}">
<classpath refid="classpath"/>
</javac>
<copy todir="${buildwar.dest}/WEB-INF/classes">
<fileset dir="${src.dir}">
<include name="**/*.*"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<!-- =================================================================== -->
<!-- 打war包-->
<!-- =================================================================== -->
<target name="ant.war" depends="build">
<delete>
<fileset dir="." includes="**/*.war"/>
</delete>
<!--needxmlfile 设为false才不会报错 web.xml不存在 ant会报错-->
<war destfile="${war.name}.war" needxmlfile="false">
<lib dir="${basedir}/lib"/>
<classes dir="${buildwar.dest}/WEB-INF/classes" excludes="${war.exclude.classes}"/>
<fileset dir="${webapp.dir}" excludes="${war.exclude}"/>
</war>
</target>
<!-- =================================
target: upload with ftp
================================= -->
<target name="upload-ftp" depends="ant.war">
<ftp password="${ftp.password}"
server="${ftp.server}"
userid="${ftp.userid}"
remotedir="${ftp.path}"
binary="true">
<fileset file="${basedir}/${war.name}.war"/>
</ftp>
</target>
<!-- ===================================================================
上传本地文件到远程服务器,执行远程命令
=================================================================== -->
<target name="upload_ssh" depends="ant.war">
<!--上传-->
<scp file="${basedir}/${war.name}.war" todir="${ssh.uname}:${ssh.pwd}@${ssh.host}:${ssh.path}"
trust="true"/>
<!--执行命令 -->
<sshexec host="{ssh.host}"
username="${ssh.uname}"
password="${ssh.pwd}" trust="true"
command="${ssh.server.stop} ;
${ssh.cmd.openwar} ${war.name}.war ;
${ssh.server.start}"/>
</target>
<!-- =================================================================== -->
<!-- 清除临时文件-->
<!-- =================================================================== -->
<target name="clean" depends="init">
<delete>
<fileset dir="${build.dest}" includes="**/*.class"/>
</delete>
</target>
</project>
分享到:
相关推荐
自用js 脚本.js
自用shell脚本哒哒
shell编写的压力测试,自用脚本,丢上来以后好找,大家需要用的可以下载下来用用,不错的资源,会生成html格式的结果
自用-kohya-ss GUI 部署及使用
疫情时自用的基于autojs抢菜脚本项目源码,各抢菜大平台都可使用疫情时自用的基于autojs抢菜脚本项目源码,各抢菜大平台都可使用疫情时自用的基于autojs抢菜脚本项目源码,各抢菜大平台都可使用疫情时自用的基于...
今天分享一款自用的pyinstaller打包辅助工具,把pyinstaller打包的常用的选项内置在工具中,勾选后点击打包即可。注:-F -w -i 参数仅对打包.py文件时有效,如果是打包spec文件时,这三个参数勾选与否都无关保存路径...
自用固件,合并openwrt和immortalwrt编译AX6.zip 自用固件,合并openwrt和immortalwrt编译AX6.zip 自用固件,合并openwrt和immortalwrt编译AX6.zip 自用固件,合并openwrt和immortalwrt编译AX6.zip 自用固件,合并...
自用脚本备份 back 123
疫情时自用的抢菜脚本程序(基于autojs pro).zip疫情时自用的抢菜脚本程序(基于autojs pro).zip疫情时自用的抢菜脚本程序(基于autojs pro).zip疫情时自用的抢菜脚本程序(基于autojs pro).zip疫情时自用的抢菜...
小程序反编译工具软件是一种用于解析和还原微信小程序源代码的工具。它可以将小程序中的JavaScript代码、WXML文件和WXSS样式表等资源还原成可读性较高的格式,方便开发者进行分析和修改。 适用人群包括小程序开发者...
自用的python脚本
自用资源,大家有更好用的 可以评论区交流。
macbook alfred工具-snippets脚本 mysql命令行
ant pptant
自用,代码自动导入生成保持打印等操作.
这份是我自用的代码。用的叉叉助手的开发工具,使用LUA语言。 运行步骤: 1、模拟器上安装游戏和压缩包中的叉叉开发助手.APK,并启动叉叉开发助手服务 2、PC机上打开发IDE,导入项目源码 3、在开发IDE里连接上...
vscode安装leetcode QuickScript 一款自用的每日任务工作脚本 目前测试环境:MacOS 10.15.6 所需依赖: vscode typora nvm node hexo 安装方式 只需要执行以下代码即可完成安装: sh -c "$(curl -fsSL ...
自己的脚本包
AutoVersion 是自用的VS系列工程自动递增编译次数 用于记录您对您的程序付出了多少心血 同时版本自动更新为编译日期,主版本号由您自己设置 公开下载地址:csdn.net 下载区查找 AutoVersion 文件打包:2015-08...