当我发布mvn war:war时,我只希望创建war文件。目标文件夹下无需展开项目文件夹。如何限制?
战争:战争答案 0 :(得分: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
任务或类似内容,删除WAR
之外的所有内容,之后 {{ 1}}已打包。
但这是一个坏主意。如果您仍然不知道原因,请考虑以下事项:
WAR
目标之后包含其他内容(例如,在war
中),那么会发生什么情况,这会导致构建的暂时工件仍然存在于verify
中?或者,更好的是,使用像jetty:run-exploded
这样要求这些文件的目标?