2012-02-13 54 views
1

我在build.xml中有三個目標。Ant不會啓動戰爭目標

沒有錯誤正在處理中。

前兩個運行成功,但第三個不啓動,結果中沒有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 

我該怎麼辦了?

我將默認目標更改爲戰爭。 但現在得到錯誤。

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 
+1

「戰爭目標」......聽起來可怕:) :) :) – dasblinkenlight 2012-02-13 01:03:08

+0

@dasblinkenlight也是螞蟻戰爭!小心那個。 – Vache 2012-02-13 01:06:06

回答

4

調用編譯如下:

ant war 

或者從 「編譯」 更改默認的目標,以 「戰爭」


更新:

默認目標更改如下:

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

將默認目標從「編譯」更改爲「war」給出錯誤:build.xml:30:內容不被允許在尾部 – savva 2012-02-13 01:09:06

+0

@savva這聽起來像一個無效的XML消息。你確定你更新了文件的正確部分嗎?我已經更新了我的回答 – 2012-02-13 01:16:45

+0

謝謝你是對的,只是語法錯誤 – savva 2012-02-13 01:21:58

2

您的默認目標是compile,您只能撥打ant。如果要運行非默認目標,則需要指定ant targetName。在你的情況下:ant war