如何使用ant的bulid.xml

最近电脑系统有些问题,硬盘全部被格式化,原来的所有文件都没有了,最近想研究一下struts2,但是要用ant来继承部署webapp,却忘了如何来配置,只好重新查资料编写,现在把它记载下来,方便以后使用。

build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloStruts2" basedir="." default="">
	<property name="webapp.name" value="myweb" />
	<property name="webapp.src.dir" value="src" />
	<property name="webapp.lib.dir" value="lib" />
	<property name="webapp.web.dir" value="WebRoot" />
	<property name="webapp.test.dir" value="test" />
	<property name="webapp.config.dir" value="config" />
	<property name="build.dir" value="build" />
	<property name="build.dist.dir" value="${build.dir}/dist" />
	<property name="build.dist.web.dir" value="${build.dist.dir}/web" />
	<property name="build.dist.lib.dir" value="${build.dist.dir}/lib" />
	<property name="build.dist.config.dir" value="${build.dist.dir}/config" />
	<property name="build.dist.classes.dir" value="${build.dist.dir}/classes" />

	<property name="app.host" value="localhost" />
	<property name="app.port" value="8080" />
	<property name="tomcat.home" value="../apache-tomcat-6.0.10" />
	<property name="tomcat.manager.url" value="http://${app.host}:${app.port}/manager" />
	<property name="tomcat.manager.username" value="admin" />
	<property name="tomcat.manager.password" value="" />

	<path id="master-classpath">
		<fileset dir="${webapp.lib.dir}">
			<include name="**/*.jar" />
		</fileset>
		<pathelement path="${build.dist.classes.dir}" />
	</path>
	<path id="tomcat-classpath">
		<fileset file="${tomcat.home}/lib/*.jar" />
	</path>

	<target name="-clean.build.dist.dir">
		<delete dir="${build.dist.dir}" />
	</target>
	<target name="-clean.tomcat.work.and.logs">
		<delete dir="${tomcat.home}/logs" />
		<delete dir="${tomcat.home}/work" />
	</target>
	<target name="-clean.webapp.in.tomcat.webapps">
		<delete dir="${tomcat.home}/webapps/${webapp.name}" />
		<delete file="${tomcat.home}/webapps/${webapp.name}.war" />
	</target>
	<target name="-make.build.dist.dir">
		<mkdir dir="${build.dist.web.dir}" />
		<mkdir dir="${build.dist.lib.dir}" />
		<mkdir dir="${build.dist.config.dir}" />
		<mkdir dir="${build.dist.classes.dir}" />
	</target>
	<target name="-clean.build.and.init" depends="-clean.build.dist.dir, -make.build.dist.dir" />
	<target name="-clean.tomcat.webapps" depends="-clean.tomcat.work.and.logs, -clean.webapp.in.tomcat.webapps" />

	<target name="-compile.classes">
		<javac srcdir="${webapp.src.dir}" destdir="${build.dist.classes.dir}" encoding="UTF-8" source="1.6" fork="true">
			<classpath refid="master-classpath" />
			<compilerarg value="-Xlint:unchecked" />
		</javac>
	</target>

	<target name="-compile.config">
		<native2ascii encoding="UTF-8" dest="${build.dist.config.dir}" src="${webapp.config.dir}/common" includes="*.native" ext=".properties" />
		<native2ascii encoding="UTF-8" dest="${build.dist.config.dir}" src="${webapp.config.dir}/spring" includes="*.native" ext=".properties" />
		<native2ascii encoding="UTF-8" dest="${build.dist.config.dir}" src="${webapp.config.dir}/struts2" includes="*.native" ext=".properties" />
		<copy todir="${build.dist.config.dir}" overwrite="true">
			<fileset dir="${webapp.config.dir}/common">
				<exclude name="*.native" />
				<include name="*.properties" />
				<include name="*.xml" />
			</fileset>
			<fileset dir="${webapp.config.dir}/spring">
				<exclude name="*.native" />
				<include name="*.properties" />
				<include name="*.xml" />
			</fileset>
			<fileset dir="${webapp.config.dir}/struts2">
				<exclude name="*.native" />
				<include name="*.properties" />
				<include name="*.xml" />
			</fileset>
			<fileset dir="${webapp.src.dir}">
				<include name="**/*.xml" />
			</fileset>
		</copy>
	</target>
	<target name="-compile" depends="-compile.classes, -compile.config" />

	<target name="-build.webapp.war">
		<copy todir="${build.dist.lib.dir}" overwrite="true">
			<fileset dir="${webapp.lib.dir}/struts2" />
		</copy>
		<copy todir="${build.dist.web.dir}" overwrite="true">
			<fileset dir="${webapp.web.dir}" />
		</copy>
		<copy todir="${build.dist.classes.dir}" overwrite="true">
			<fileset dir="${build.dist.config.dir}" />
		</copy>
		<war destfile="${build.dist.dir}/${webapp.name}.war" webxml="${build.dist.web.dir}/WEB-INF/web.xml">
			<fileset dir="${build.dist.web.dir}" />
			<lib dir="${build.dist.lib.dir}" />
			<classes dir="${build.dist.classes.dir}" />
		</war>
	</target>

	<target name="copy.war.to.tomcat" depends="-clean.build.and.init, -compile, -clean.webapp.in.tomcat.webapps, -build.webapp.war" description="copy to tomcat">
		<copy todir="${tomcat.home}/webapps" overwrite="true">
			<fileset file="${build.dist.dir}/${webapp.name}.war" />
		</copy>
	</target>

	<taskdef name="webapp.deploy" classname="org.apache.catalina.ant.DeployTask" classpathref="tomcat-classpath" />
	<taskdef name="webapp.undeploy" classname="org.apache.catalina.ant.UndeployTask" classpathref="tomcat-classpath" />
	<target name="-webapp.install">
		<webapp.deploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${webapp.name}" war="${build.dist.dir}/${webapp.name}.war" />
	</target>

	<target name="webapp.reinstall" depends="stop.tomcat, -clean.build.and.init, -compile, -clean.tomcat.webapps, start.tomcat, -build.webapp.war, -webapp.install" description="webapp reinstall" />



	<!-- ============================================================== -->
	<!-- Tomcat tasks - remove these if you don't have Tomcat installed -->
	<!-- ============================================================== -->

	<!-- start tomcat with bootstrap.jar-->
	<property name="catalina.java.home" value="${java.home}" />
	<property name="catalina.home" value="${tomcat.home}" />
	<property name="catalina.base" value="${catalina.home}" />
	<property name="catalina.tmpdir" value="${catalina.base}/temp" />
	<property name="jpda.address" value="8000" />

	<path id="java.classpath">
		<pathelement location="${catalina.java.home}/../lib/tools.jar" />
	</path>
	<path id="catalina.classpath">
		<pathelement location="${catalina.home}/bin/bootstrap.jar" />
		<pathelement location="${catalina.home}/bin/commons-logging-api.jar" />
	</path>

	<target name="start.tomcat" description="start tomcat by bootstrap.jar">
		<echo message="Starting Tomcat server" />
		<echo message="Using CATALINA_BASE: ${catalina.base}" />
		<echo message="Using CATALINA_HOME: ${catalina.home}" />
		<java classname="org.apache.catalina.startup.Bootstrap" spawn="yes" fork="true">
			<jvmarg value="-Dcatalina.home=${catalina.home}" />
			<classpath>
				<path refid="java.classpath" />
				<path refid="catalina.classpath" />
			</classpath>
			<arg value="start" />
		</java>
	</target>

	<target name="start.tomcat.debug" description="start tomcat by bootstrap.jar">
		<echo message="Starting Tomcat server" />
		<echo message="Using CATALINA_BASE: ${catalina.base}" />
		<echo message="Using CATALINA_HOME: ${catalina.home}" />
		<java classname="org.apache.catalina.startup.Bootstrap" spawn="no" fork="true">
			<jvmarg value="-Dcatalina.home=${catalina.home}" />
			<jvmarg value="-Xdebug" />
			<jvmarg value="-Xnoagent" />
			<jvmarg value="-Djava.compiler=none" />
			<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${jpda.address}" />
			<classpath>
				<path refid="java.classpath" />
				<path refid="catalina.classpath" />
			</classpath>
		</java>
	</target>

	<target name="stop.tomcat" description="stop tomcat by bootstrap.jar">
		<echo message="Stopping Tomcat server" />
		<echo message="Using CATALINA_BASE: ${catalina.base}" />
		<echo message="Using CATALINA_HOME: ${catalina.home}" />
		<java classname="org.apache.catalina.startup.Bootstrap" spawn="yes" fork="true" failonerror="false">
			<classpath>
				<path refid="java.classpath" />
				<path refid="catalina.classpath" />
			</classpath>
			<jvmarg value="-Dcatalina.home=${catalina.home}" />
			<arg value="stop" />
		</java>
	</target>
</project>
           
   
同时上传一个blank的war包,供大家下载使用。。

你可能感兴趣的:(tomcat,xml,ant)