Муравей не начинает войну - PullRequest
       8

Муравей не начинает войну

1 голос
/ 13 февраля 2012

У меня есть три цели в build.xml.

В процессе нет ошибок.

Первые два успешно выполнены, но третий не запускается, и в результате нет файла войны.

Это мой 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

Что я не так делаю?

Я меняю цель по умолчанию на войну. Но теперь получаю ошибку.

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 ]

4 голосов
/ 13 февраля 2012

Вызовите сборку следующим образом:

ant war

Альтернативно измените цель по умолчанию с «compile» на «war»


Обновление:

Цель по умолчанию изменяется следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<project name="LoginProject" basedir="." default="war">
..
2 голосов
/ 13 февраля 2012

Ваша цель по умолчанию compile, и вы звоните только ant. Вам нужно указать ant targetName, если вы хотите запустить цель, которая не по умолчанию. В вашем случае: ant war.

...