2013-08-20 209 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依赖某些文件来正确处理您的项目,会发生什么情况?