Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ANT";“复制”;任务不执行。不复制文件_Ant - Fatal编程技术网

ANT";“复制”;任务不执行。不复制文件

ANT";“复制”;任务不执行。不复制文件,ant,Ant,我正在编写我的第一个ANT脚本,为我创建的web应用程序构建WAR文件。web应用程序在Tomcat上运行良好 我的web应用程序的文件结构是: src 建造 网络内容 ---+META-INF ---+WEB-INF ---+--+lib ---+--+web.xml ---+JSP build.xml 我的ANT脚本能够创建一些目录。“javac”也可以工作。我可以在root/build/classes文件夹下看到已编译的Java类 在构建战争之前,我尝试使用“副本”进行一些打包(我已经

我正在编写我的第一个ANT脚本,为我创建的web应用程序构建WAR文件。web应用程序在Tomcat上运行良好

我的web应用程序的文件结构是:

  • src
  • 建造
  • 网络内容
  • ---+META-INF
  • ---+WEB-INF
  • ---+--+lib
  • ---+--+web.xml
  • ---+JSP
  • build.xml
我的ANT脚本能够创建一些目录。“javac”也可以工作。我可以在root/build/classes文件夹下看到已编译的Java类

在构建战争之前,我尝试使用“副本”进行一些打包(我已经阅读了之前发布的相关线程,并尝试遵循示例)。但是,我的“复制”任务不起作用。我没有看到文件被复制到“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>

定义属性
时间戳
清理以前的生成目录
创建目录
开始编译
开始构建WAR文件
结束构建WAR文件
将WAR文件复制到Tomcat部署目录

不能在文件属性中使用通配符。如果您想同时获得更多文件,请使用ant v1.7 a或之前的版本。或者在您的情况下,可以使用includes=。。。属性