我正在编写我的第一个ANT脚本来为我创建的Web应用程序构建WAR文件。 Web应用程序在Tomcat上运行良好。
我的网络应用程序的文件结构是:
我的ANT脚本能够创建一些目录。并且“javac”有效。我可以在root / build / classes文件夹下看到编译的Java类。
我在构建WAR之前尝试使用“copy”进行一些打包(我已经阅读了之前发布过的相关主题,并尝试按照示例进行操作)。但是,我的“复制”任务不起作用。我没有看到文件被复制到“build / war”目录中;因此,“战争”任务没有做任何事情。但是,控制台上没有错误消息。在这里,我发布了我的ANT脚本,并希望得到更多的帮助。非常感谢你。
<echo>Define properties</echo>
<property name="name" value="SchoolSchedule"/>
<property name="src" location="${basedir}/src"/>
<property name="web" location="${basedir}/WebContent"/>
<property name="build" location="${basedir}/build"/>
<property name="disDir" location="${build}/dis"/>
<property name="warDir" location="${build}/war"/>
<property name="tomcat.webapps" value="C:\apache-tomcat-7.0.70\webapps" />
<echo>time stamp</echo>
<tstamp prefix="build-info">
<format property="current-date" pattern="d-MMMM-yyyy" locale="en" />
<format property="current-time" pattern="hh:mm:ss a z" locale="en" />
<format property="year-month-day" pattern="yyyy-MM-dd" locale="en" />
</tstamp>
<echo>clean up previous build directories</echo>
<target name="clean" description="Delete old build directories">
<delete dir="${disDir}"/>
<delete dir="${warDir}"/>
</target>
<echo>create directories</echo>
<target name="init" depends="clean">
<mkdir dir="${disDir}"/>
<mkdir dir="${warDir}"/>
<mkdir dir="${warDir}/WEB-INF"/>
<mkdir dir="${warDir}/WEB-INF/classes"/>
</target>
<echo>start compiling</echo>
<target name="compile" depends="clean, init" description="Compile main
source tree java files">
<javac srcdir="${src}" destdir="${build}/classes" debug="on" />
<classpath>
<fileset dir="${basedir}/WebContent/WEB-INF/lib">
<include name="*" />
</fileset>
</classpath>
</target>
<echo>start building WAR file</echo>
<target name="buildwar" depends="clean, init, compile">
<!-- Packaging -->
<copy todir="${warDir}/WEB-INF/classes">
<fileset dir="${build}/classes" />
</copy>
<copy todir="${warDir}/WEB-INF">
<fileset dir="${web}/WEB-INF" includes="web.xml" />
</copy>
<copy todir="${warDir}">
<fileset dir="${web}" includes="**/*.*" />
</copy>
<jar destfile="${disDir}/${name}.war" basedir="${warDir}" />
</target>
<echo>end building WAR file</echo>
<target name="deploy" depends="init, compile, buildwar" description="Deploy application">
<delete dir="${tomcat.webapps}/*.war" />
<echo>copy WAR file to Tomcat deploy directory</echo>
<copy file="${disDir}/*.war" todir="${tomcat.webapps}" />
</target>