一个简单的Ant实例

在Eclipse里面做web项目确实是一件比较烦人的事,所有的事都得自己做。但却不失为一个学习,提高自己知识的好机会。像MyEclipse,只要发布一下,web应用就可以访问了,但是Eclipse里面,需要自己手动编译,手动打包发布到服务器才能访问。下面就是一个简单用Ant发布web应用的例子,别小看它,我发布的这个应用可是SSH框架的集成。

<project name="onlinestore" default="dist" basedir="." >
	
	<!-- 定义一些全局的变量,在下面的taget里面会用到的一些路径 -->
	<property name="src" value="${basedir}/src" />
	<property name="webapp.name" value="onlinestore" />
	<property name="WebContent" value="${basedir}/WebContent" />
	<property name="META-INF" value="${WebContent}/META-INF" />
	<property name="WEB-INF" value="${WebContent}/WEB-INF" />
	<property name="lib" value="${WEB-INF}/lib" />
	<property name="classes" value="${WEB-INF}/classes" />
	<property name="dist" value="${basedir}/dist" />
	
	<!-- 这里是Joss的web应用发布的路径,根据实际情况而定 -->
	<property name="server" value="D:/jboss-4.0.3/server/default/deploy/" />
	
	<property name="build" value="${basedir}/build" />
	<property name="weblib" value="${build}/WEB-INF/lib" />
	<property name="webclasses" value="${build}/WEB-INF/classes" />
	
	<!-- 这是应用里面用到的所有jar包,所以需要你把所有jar包都放到lib路径下面,
	下面compile的时候会用到path的id -->
	<path id="build.classpath" >
		<fileset dir="${lib}">
			<include name="**/*.jar"/>
		</fileset>
	</path>
	
	<!-- 做一些清理工作,以保证得到的文件都是最新的 -->
	<target name="clean">
		<delete file="${dist}/${webapp.name}.war" />
		<delete file="${server}/${webapp.name}.war" />
		<delete dir="${build}" />
		<delete dir="${weblib}" />
		<delete dir="${webclasses}" />
		<delete dir="${classes}" />
	</target>
	
	<target name="prepare" depends="clean">
		<mkdir dir="${build}" />
		<mkdir dir="${weblib}" />
		<mkdir dir="${webclasses}" />
		<mkdir dir="${classes}"/>
	</target>
	
	<!-- 编译源文件,也就是java代码,把生成的class文件放到指定的destdir下 -->
	<target name="compile" depends="prepare">
		<javac srcdir="src" destdir="${classes}" debug="on" deprecation="on">
			<classpath refid="build.classpath" />
			<include name="**/*.java"/>
		</javac>
	</target>
	
	<!-- 这步是为了把所有放在src下面的配置文件都copy到classes目录下,
	如果有经验的人一定注意到过,一般配置文件都是放在classes目录下的 -->
	<target name="assemble" depends="compile">
		
		<copy todir="${classes}">
			<fileset dir="${src}">
				<exclude name="**/*.java"/>
				<exclude name="**/*.class"/>
			</fileset>
		</copy>
		
		<!-- 把WebContent(或WebRoot)里面的内容集体拷贝到build目录下,以便打包方便 -->
		<copy todir="${build}">
			<fileset dir="${WebContent}" />
		</copy>
	</target>
	
	<!-- 最后一步,把build下的东西打包成war包,发布到服务器里面,搞定 -->
	<target name="dist" depends="assemble">
		<war destfile="${dist}/${webapp.name}.war" >
			<fileset dir="${build}" >
				<include name="**/*"/>
			</fileset>
		</war>
		<copy file="${dist}/${webapp.name}.war" todir="${server}" />
	</target>
</project>

 

这是我做了一个struts2 + hibernate + spring 集成案例用的build.xml,该文件放在项目根目录下面。希望对大家会有所帮助...

你可能感兴趣的:(eclipse,Web,应用服务器,ant,MyEclipse)