在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,该文件放在项目根目录下面。希望对大家会有所帮助...
455

被折叠的 条评论
为什么被折叠?



