因此,我在Eclipse中設置了一個新項目,並創建了一個build.xml來創建一個war文件。我遇到的問題是戰爭中包含的唯一文件是WEB-INF中的內容。你如何將我的網頁文件夾加入戰爭?在Eclipse中設置新項目
- 項目
- SRC
- 網絡
- WEB-INF
因此,我在Eclipse中設置了一個新項目,並創建了一個build.xml來創建一個war文件。我遇到的問題是戰爭中包含的唯一文件是WEB-INF中的內容。你如何將我的網頁文件夾加入戰爭?在Eclipse中設置新項目
(編輯的正確性和清晰度)
假設項目設置如下:
這裏有一個快速的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的用戶手冊,瞭解更多信息。
你的WEB-INF應低於Web文件夾。類應該放在web/WEB-INF/classes中。
構建完成的佈局,然後使用WAR任務將其包裝起來。
由於您指的是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,儘管這個建議是否適用是不可能的。
顯示更多的build.xml會很有用。 – crowne 2010-04-07 20:24:45