我通過導入一個war文件創建了一個eclipse web項目。最初,戰爭文件中沒有源代碼。我想通過根據不同的配置文件動態改變一個屬性文件的內容來從這個項目構建一個新的war文件,以便構建的war文件可以部署在不同的環境中(開發和生產)。maven如何才能從戰爭文件中導入的項目構建戰爭?
但是由於在原始war文件中沒有源代碼,因此在項目中沒有源代碼,在將此項目轉換爲maven項目並在pom.xml中將包裝設置爲war後,maven顯示以下錯誤:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war >(default-war) on project birt: Error assembling WAR: webxml attribute is required (or pre->existing WEB-INF/web.xml if executing in update mode)
我假設這個錯誤是由於我的項目中沒有這樣的文件夾(/ src/main/webapp)造成的。我的項目的結構如下:
drwxrwxr-x 3 kewei kewei 4096 12 avril 15:55 build
-rw-rw-r-- 1 kewei kewei 375 12 avril 16:10 pom.xml
drwxrwxr-x 3 kewei kewei 4096 12 avril 15:54 src
drwxrwxr-x 5 kewei kewei 4096 12 avril 16:12 target
drwxrwxr-x 10 kewei kewei 4096 12 avril 15:55 WebContent
src文件夾裏沒有東西,一切都在WebContent文件夾中。
我可以通過更改屬性文件並將項目導出到war文件(無需maven)來完成這項工作。但有沒有更聰明的方法?
也許maven的目的不是爲了做這種構建?在這種情況下,我如何通過根據不同配置文件動態更改屬性文件的內容來構建不同的戰爭?
謝謝!
使用maven-war-plugin的確解決了我的問題。我將WebContent設置爲webResources並添加了一個根據我使用的配置文件動態更改屬性文件內容的過濾器。非常感謝你們! – 2012-04-16 09:44:55