2013-08-20 269 views
-1

當我發出mvn戰爭:戰爭時,我只想創建戰爭文件。目標文件夾下無需展開項目文件夾。如何限制?Maven戰爭:限制戰爭

MVN戰爭:戰爭

回答

1

的「爆炸項目文件夾」是不是有您的觀看方便 - 它看起來像,因爲那how the Maven build lifecycle is constructed

一個Maven構建運行的階段序列,和插件目標在後期階段執行抱有期望有關他們將在target文件夾中找到 - 這是一個在構建過程發生。

因此,例如,war:war goal is bound to the package phase

在此之前有compile階段,其中maven-compiler-plugin將運行。這就是你編譯的Java類最終在你的WAR中 - 它們被編譯成.class文件到target的子目錄中,然後,然後,war插件將它們拾取並打包到WAR中。

只有這樣,才能達到您想要的結果將是添加antrun任務或相似,將刪除一切,但WARWAR包裝

但是這個是個壞主意。如果你還是不知道爲什麼,考慮以下因素:

  • 如果你擴展你的構建以包括war進球之後,其他的東西(比方說,在verify)發生什麼事情,希望構建的短暫假象中仍存target?或者,甚至更好,使用jetty:run-exploded這樣的目標,其中需要這些文件?
  • 如果您的IDE依賴某些文件來正確處理您的項目,會發生什麼情況?