Ant不会启动战争目标

时间:2012-02-13 00:54:06

标签: java ant war

我在build.xml中有三个目标。

过程中没有错误。

前两个成功运行,但第三个没有启动,结果中没有war文件。

这是我的buid.xml

<?xml version="1.0" encoding="utf-8"?>
<project name="LoginProject" basedir="." default="compile">

    <property name="src.dir"     value="src"/>
    <property name="classes.dir" value="build/classes"/>
    <property name="war.dir" value="build/war"/>

    <target name="clean">
        <delete dir="build"/>
    </target>

    <target name="compile" depends="clean">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false">
            <classpath location="lib/myfaces-api-2.0.2.jar"/> 
            <classpath location="lib/servlet-api.jar"/> 
        </javac>
    </target>

    <target name="war" depends="compile">
        <mkdir dir="${war.dir}"/>
        <war destfile="${war.dir}/loginproject.war" webxml="web/WEB-INF/web.xml">
            <fileset dir="WebContent"/>
            <lib dir="lib"/>
            <classes dir="${classes.dir}"/>
        </war>
    </target>   
</project>

这是来自命令行的日志

D:\Work\Java\AntLoginProject>ant
Buildfile: D:\Work\Java\AntLoginProject\build.xml

clean:
[delete] Deleting directory D:\Work\Java\AntLoginProject\build

compile:
    [mkdir] Created dir: D:\Work\Java\AntLoginProject\build\classes
    [javac] Compiling 3 source files to D:\Work\Java\AntLoginProject\build\classes

BUILD SUCCESSFUL
Total time: 1 second

我做错了什么?

我将默认目标更改为war。 但现在得到错误。

D:\Work\Java\AntLoginProject>ant war
Buildfile: D:\Work\Java\AntLoginProject\build.xml

BUILD FAILED
D:\Work\Java\AntLoginProject\build.xml:30: Content is not allowed in trailing section.

Total time: 0 seconds

2 个答案:

答案 0 :(得分:4)

按如下方式调用构建:

ant war

或者将默认目标从“编译”更改为“战争”


<强>更新

默认目标更改如下:

<?xml version="1.0" encoding="utf-8"?>
<project name="LoginProject" basedir="." default="war">
..

答案 1 :(得分:2)

您的默认目标是compile,您只需拨打ant。如果要运行非默认目标,则需要指定ant targetName。在您的情况下:ant war