`

ant脚本(部署应用)

阅读更多
最近在部署应用时,遇到一个问题,就是ant脚本登录到linux机器上执行部署命令时,不知如何去写脚本。不知有没有哪位同学做过?
以下是我的ant脚本:
<?xml version="1.0" encoding="UTF-8"?>
<project name="taxs_Admin" default="usage">

	<!-- system environment variables config -->
	<property environment="env" />
	<property file="build.properties" />

	<!-- project config information -->
	<property name="project.home" value="${basedir}" />
    <tstamp>
        <format property="TIME" pattern="yyyyMMddHHmm" />
    </tstamp>
    <property name="build.version" value="${project.version}.v${TIME}" />

	<!-- usage message -->
	<target name="usage" description="usage">
		<echo>此脚本运行的前提条件是:</echo>
		<echo>1.因为运行环境是tomcat,所以设置系统环境变量CATALINA_HOME指向tomcat所在目录.</echo>
		<echo>
		</echo>
		<echo>运行方式:</echo>
		<echo>1.ant build - 根据最新代码生成应用包;</echo>
	</target>

	<!-- compile config information -->
	<property name="compile.version" value="1.6" />
	<property name="compile.java.encoding" value="GBK" />
	<property name="compile.jsp.encoding" value="UTF-8" />
	<property name="compile.optimize" value="off" />
	<property name="compile.debug" value="true" />
	<property name="compile.failonerror" value="true" />
	<property name="compile.deprecation" value="true" />

	<!-- build config information -->
	<property name="build.home" location="${project.home}" />
	<property name="src.main.java" location="${build.home}/src/" />
	<property name="src.main.web" location="${build.home}/WebRoot/" />
	<property name="library.path" location="${build.home}/WebRoot/WEB-INF/lib/" />
	<property name="library.container" location="${env.CATALINA_HOME}/lib/" />
	<property name="tomcat.home" location="${tomcat.home}"/>
	<property name="test.tomcat.home" location="${test.tomcat}"/>

	<!-- package config information -->
	<property name="target.dir" location="${project.home}/target" />
	<property name="classes.dir" location="${target.dir}/classes" />
	<property name="jasper.dir" location="${target.dir}/jasper" />
	<property name="war.dir" location="${target.dir}/war"/>
	<property name="web.dir" location="${target.dir}/web"/>
	<property name="zip.dir" location="${target.dir}/zip"/>
	
	<!-- Global classpath config -->
	<path id="master-classpath">

		<!-- Project class files -->
		<pathelement path="${classes.dir}" />
		<!--Project lib files-->
		<fileset dir="${library.path}">
		   <include name="**/**"/>
		</fileset>
	
		<!-- Project depend jars -->
		<fileset dir="${library.container}">
			<include name="**/**" />
		</fileset>
	</path>

	<!-- daily version build -->
	<target name="build" description="build">
		<antcall target="clean" />
		<antcall target="compile" />
		<antcall target="jspcompile" />
		<antcall target="package" />
	</target>

	<!-- Clean Application files -->
	<target name="clean" description="Clean task files">
		<delete dir="${target.dir}" />
	</target>
	
	<!-- Compile main source tree java files -->
	<target name="compile" description="Compile main source tree java files">
		<mkdir dir="${classes.dir}" />
		<javac destdir="${classes.dir}" source="${compile.version}" target="${compile.version}" encoding="${compile.java.encoding}" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" failonerror="${compile.failonerror}">
			<src path="${src.main.java}/" />
			<classpath refid="master-classpath" />
		</javac>

		<native2ascii encoding="${compile.java.encoding}" dest="${classes.dir}" src="${src.main.java}" ext="_zh_CN.properties">
			<include name="**/*.native" />
		</native2ascii>
		<native2ascii encoding="${compile.java.encoding}" dest="${classes.dir}" src="${src.main.java}" ext="_zh_TW.properties">
			<include name="**/*.native" />
		</native2ascii>
		<native2ascii encoding="${compile.java.encoding}" dest="${classes.dir}" src="${src.main.java}" ext="_en_US.properties">
			<include name="**/*.native" />
		</native2ascii>

		<copy todir="${classes.dir}" preservelastmodified="true">
			<fileset dir="${src.main.java}">
				<include name="**/*.*" />
				<exclude name="**/*.java" />
			</fileset>
		</copy>
	</target>

	<!-- Comile JSP page to servlet witch Tomcat engine -->
	<target name="jspcompile" description="Compile main source tree java files">
		<taskdef name="jasper2" classname="org.apache.jasper.JspC">
		   	<classpath refid="master-classpath"/>
		</taskdef>
		<mkdir dir="${jasper.dir}" />
		<jasper2 validateXml="false" package="com.tenpay.taxs.jsp" uriroot="${src.main.web}" webXmlFragment="${src.main.web}/WEB-INF/generated_web.xml" outputDir="${jasper.dir}" addwebxmlmappings="true" verbose="9" listerrors="on" />
		<javac destdir="${classes.dir}"  source="${compile.version}" target="${compile.version}" encoding="${compile.jsp.encoding}" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" failonerror="${compile.failonerror}" verbose="false">
			<src path="${jasper.dir}" />
			<classpath refid="master-classpath" />
		</javac>
	</target>

	<target name="package" description="Package application as a war">
		<mkdir dir="${war.dir}" />
		<war destfile="${war.dir}/${project.name}.war" webxml="${src.main.web}/WEB-INF/web.xml">
			<fileset dir="${src.main.web}">
				<include name="**/*.*" />
				<exclude name="WEB-INF/web.xml" />
				<exclude name="WEB-INF/lib/*.*"/>
			</fileset>
			<classes dir="${classes.dir}">
				<include name="**/*.*" />
			</classes>
			<lib dir="${library.path}">
				<include name="*.*" />
			</lib>
		</war>
        <copy todir="${war.dir}" preservelastmodified="true">
            <fileset dir="${project.home}">
                <include name="VERSION"/>
            </fileset>
        </copy>
	</target>
	<!--copy package-->
	<target name="copy" description="copy project into application" depends="build">
	   <mkdir dir="${web.dir}"/>
	   <copy todir="${web.dir}/${project.name}/ROOT">
	   	<fileset dir="${src.main.web}">
	   	 <include name="**/*.*"/>
	   	 <exclude name="WEB-INF/lib/*.*"/>
	   	</fileset>
	  </copy>
	  <copy todir="${web.dir}/${project.name}/ROOT/WEB-INF/classes">
	   		<fileset dir="${classes.dir}">
	   			   		<include name="**/*.*" />
	   		</fileset>
	  </copy>
	  <copy todir="${web.dir}/${project.name}/ROOT/WEB-INF/lib">
			<fileset dir="${library.path}">
			   			<include name="*.*" />
			   	</fileset>
	 </copy>
	</target>
	<!--deploy war to tomcat-->
	 <target name="deploy" depends="build" if="tomcat.home"
	        description="unwar into the servlet container's deployment directory">
	        <unwar src="${war.dir}/${project.name}.war"
	            dest="${tomcat.home}/webapps/${project.name}"/>
	 </target>
	<!--deploy war to test machine-->
	<target name="deploytest" depends="build" if="test.tomcat"  description="unwar into the servlet container's deployment directory">
		<unwar src="${war.dir}/${project.name}.war" dest="${test.tomcat}/${project.name}/ROOT"/>
	</target>
	<!--package zip -->
	<target name="packagezip" depends="copy" description="zip package">
		<mkdir dir="${zip.dir}"/>
		<zip zipfile="${zip.dir}/${project.name}.zip" basedir="${web.dir}">
		</zip>
	</target>
	<!--remote machines-->
	<target name="login">
	 <sshexec host="10.2.102.45"
	    username="root"
	    password="cft2008"
	    trust="true"
	    command="cd /usr/local/tomcat/
	 	 "/>
	</target>
</project>


到login任务时,随便写了个测试的命令,不知道执行了没有?
分享到:
评论

相关推荐

    Ant脚本详解说明

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。

    ant-cargo-wildfly:Ant 脚本控制 WildFly 部署和部署开始关闭

    野蝇蚂蚁部署通过 Ant 和 Cargo 部署应用程序/取消部署应用程序/启动/关闭 WildFly。 有关详细信息,请参阅 build.xml。

    ant脚本介绍

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。

    关于项目的部署JAVA & .NET

    * 应用程序开发进程 * 服务器导航 * 生成进程和服务器日志 * Ant 脚本 * WAR 、EAR 和部署描述符 * 部署工具 * 管理控制台

    Ant 1.9.2 API (CHM格式)

    Ant功能强大的地方在于,程序员不仅能通过编写Ant的脚本(build.xml)来进行各种文件部署管理操作,还可以通过调用Ant的丰富的API,甚至扩展Ant的API进行编程。 1. 目录操作: 1) 创建目录 1. Project prj=new ...

    xdoclet-bin-1.2.1.zip

     XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、为你生成struts的... 展开XDoclet的发布包,samples目录下有直接可以运行的ant脚本文件。

    xdoclet-base-locale-1.2.1.jar

     XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、为你生成struts的... 展开XDoclet的发布包,samples目录下有直接可以运行的ant脚本文件。

    camunda-script-deployment

    camunda 脚本部署示例 该项目由 Maven 原型。 针对 Camunda BPM 7.2.0 版进行构建和测试。 给我看重要的部分! 它是如何工作的? 如何使用它? 没有用于访问该应用程序的 Web 界面。 要开始,请参阅InMemoryH2Test...

    react-ant:react 和 ant-design框架学习

    可用脚本在项目目录中,可以运行:npm start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何棉绒错误。npm test 在交互式监视模式下启动测试运行...

    Struts2.0_Hibernate3_spring2.0 实现用户注册

    部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句导入MySQL数据库。 2. 修改reg_login\WEB-INF路径下的applicationContext.xml文件,将其中的数据库密码修改为你的数据库密码。 ...

    SSH实例——在线考试系统

    部署Web应用请按如下步骤进行: 1. 进入hiberexam路径下,将sql.sql脚本中的语句导入MySql数据库。 2. 修改hiberexam\WEB-INF\classes路径下的appContext文件,将其中的数据库密码修改为你的数据库密码。 3. 进入...

    SSH整合框架注册登录系统

    部署Web应用请按如下步骤进行: 1. 进入auction路径下,将mysql.sql脚本中的语句导入MySQL数据库。 2. 修改auction\WEB-INF路径下的applicationContext.xml文件,将其中的数据库密码修改为你的数据库密码。 3. ...

    jain-slee.maven-du-plugin:适用于SLEE应用程序的maven-du插件

    generate-ant-management-script-生成一个Apache Ant脚本,该脚本可用于通过文件复制/删除或JMX来(取消)部署可部署的单元jar。 注意:参数和属性将由其名称在$ {}之间表示。 例如,参数X在被引用时将通过$ {X}

    iuhyiuhkjh908u0980

    ant脚本(部署应用) 最近在部署应用时,遇到一个问题,就是ant脚本登录到linux机器上执行部署命令时,不知如何去写脚本。不知有没有哪位同学做过?以下是我的ant脚本: &lt;project name="taxs_Admin" default="usage"&gt; ...

    ssh实例-在线考试系统

    部署Web应用请按如下步骤进行: 1. 进入hiberexam路径下,将sql.sql脚本中的语句导入MySql数据库。 2. 修改hiberexam\WEB-INF\classes路径下的appContext文件,将其中的数据库密码修改为你的数据库密码。 3. 进入...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 ...

    React-AntDesign-Project-Tech

    您的应用已准备好进行部署! 有关更多信息,请参见关于的部分。 npm run eject 注意:这是单向操作。 eject ,您将无法返回! 如果您对构建工具和配置选择不满意,则可以随时eject 。 此命令将从项目中删除单个...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 ...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装...

    struts2+spring整合登陆验证经典完整案例!

    部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句导入MySQL数据库。 2. 修改reg_login\WEB-INF路径下的applicationContext.xml文件,将其中的数据库密码修改为你的数据库密码。 ...

Global site tag (gtag.js) - Google Analytics