2010-04-07 86 views
0

因此,我在Eclipse中設置了一個新項目,並創建了一個build.xml來創建一個war文件。我遇到的問題是戰爭中包含的唯一文件是WEB-INF中的內容。你如何將我的網頁文件夾加入戰爭?在Eclipse中設置新項目

  • 項目
    • SRC
    • 網絡
    • WEB-INF
+2

顯示更多的build.xml會很有用。 – crowne 2010-04-07 20:24:45

回答

5

(編輯的正確性和清晰度)

假設項目設置如下:

  • 項目
    • SRC(Java源文件)
    • 腹板(web內容)
    • WEB-INF(內部至少有一個web.xml)
    • build( build.xml文件是在這裏)

這裏有一個快速的Ant腳本戰爭起來:

<?xml version="1.0"?> 
<project name="sample" basedir="../" default="war"> 

    <target name="compile"> 
     <delete dir="build/classes"/> 
     <mkdir dir="build/classes"/> 
     <javac srcdir="src" destdir="build/classes"/> 
    </target> 

    <target name="war" depends="compile"> 
     <war destfile="myWar.war" webxml="WEB-INF/web.xml"> 
      <fileset dir="web"/> 
      <classes dir="build/classes"/> 
      <webinf dir="WEB-INF"/> 
     </war> 
    </target> 

</project> 

請參閱war task Ant的用戶手冊,瞭解更多信息。

1

你的WEB-INF應低於Web文件夾。類應該放在web/WEB-INF/classes中。

構建完成的佈局,然後使用WAR任務將其包裝起來。

1

由於您指的是build.xml文件,因此我假設您使用的是Ant(或者Eclipse正在爲您使用它)。如果是這種情況,您希望使用Ant任務並使用戰爭包括屬性(或文件集嵌套任務)以列出您的Web目錄以包含在結果戰爭中。

http://ant.apache.org/manual/Tasks/war.html

假設你使用的是老螞蟻分佈缺乏戰爭任務,使用罐子任務,戰爭從繼承。

我不知道你的build.xml文件是什麼樣子,但是我冒昧地猜測它有一個戰爭罐子任務。利用其包括屬性,它應該是這個樣子(這是從我的頭頂,你可能需要調整它來編譯您的具體情況):

<war destfile="your.war" webxml="src/metadata/your.xml"> 
    <fileset dir="src"/> 
    <fileset dir="web"/> 
    <classes dir="build/classes"/> 
</war> 

沒有看到您的構建。xml,儘管這個建議是否適用是不可能的。