从Eclipse运行Ant脚本后缺少输出文件

我在Eclipse Luna中开发了一个简单的Web应用程序。 应用程序的目录结构如下所示:

项目名称是SchoolSchedule。

在项目名称下有Java资源,构建,WebContent文件夹和build.xml文件。

在Java Resources下,它是“src”文件夹,我的Java代码包名称位于“src”文件夹下。

在WebContent下,有META-INF,WEB-INF和我的jsp文件在WEB-INF下,有web.xml文件和“lib”目录。

build.xml位于项目根目录下。 此Web应用程序成功运行并产生预期结果。

我创建了一个Ant脚本来编译,构建WAR文件并部署WAR。 但是,即使基本任务也不起作用。 我右键单击build.xml - >以...运行 - > Ant构建。 在控制台中,我可以看到所有的回显信息并且没有错误。 但是,我没有看到任何新创建的目录(我“刷新”了该项目。)。 没有从Java代码编译的“类”文件,更不用说构建和部署这些任务。

有些事情我没有把它做对。 请帮忙。 这是我的Ant脚本:

<?xml version="1.0" encoding="UTF-8"?>

<project name="AntWarWebApp" basedir="." >

<echo>Define properties</echo> 
<property name="name" value="SchoolSchedule"/>
<property name="src" location="src"/>
<property name="web" location="WebContent"/>
<property name="build" location="build"/>
<property name="classDir" location="${build}/src"/>
<property name="distDir" location="${build}/dist"/>
<property name="warDir" location="${build}/war"/>

<property name="tomcat.webapps" value="C:apache-tomcat-7.0.70webapps" />

<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="${distDir}"/>
    <delete dir="${warDir}"/>
    <delete dir="${classDir}"/>
</target>

<echo>create directories</echo>
<target name="init" depends="clean">
    <mkdir dir="${build}"/>
    <mkdir dir="${classDir}"/>
    <mkdir dir="${warDir}"/>
    <mkdir dir="${distDir}"/>
    <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="${classDir}" />
    <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">
    <war basedir="${wardir}" destfile="${distDir}/${name}.war"
     webxml="${wardir}/WEB-INF/web.xml">
        <webinf dir="${wardir}/WEB-INF/">
            <include name="**/*.jar" />
        </webinf>
        <manifest>
            <attribute name="Built-On" value="${build-info.current-date}" />
            <attribute name="Built-At" value="${build-info.current-time}" />
        </manifest>
    </war>
</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="${distdir}/*.war" todir="${tomcat.webapps}" />
</target>

</project>

你不应该有某种顶级元素

<project>
 ....
</project>

围绕这一切?

链接地址: http://www.djcxy.com/p/44413.html

上一篇: Missing output files after running Ant script from Eclipse

下一篇: How to check if an Ant task is available in the current JVM?