【发布时间】:2014-06-18 13:22:23
【问题描述】:
我有以下项目层次结构:
app
|-module1
| |-pom.xml
|-module2
| |-pom.xml
|-pom.xml
Module1 和 module2 都将文件复制到同一个目标目录,所以我使用应用程序的 pom.xml 来清除该目录。我的问题是,现在的执行顺序是 module1[clean]、module1[install]、module2[clean]、module2[install]、app[clean]、app[install],所以 module1 和 module2 放入该目录的所有内容都会被删除。
我想让它先执行 all clean,然后执行 all install,即使我运行 mvn clean install。或者,如果在 module1[install] 和 module2[install] 之前有另一种方式来执行 app[clean],那也可以。
编辑
我最终制作了一个单独的模块(Netbeans POM projekt)用于单独清洁。不是我希望的解决方案,但它现在有效。
【问题讨论】:
-
如何使用“mvn clean && mvn install”。如果您实际上不需要 maven 在单个 maven 执行中执行此操作,我认为这是一种可行的方法。
-
这将是一个开源项目,我不想破坏 IDE 的“Clean and Build”按钮的功能
-
如果你确实遇到了Module1和Module2复制文件到同一个目标目录的情况,那就真的有问题了。除此之外,执行顺序由 Maven 定义,如您所描述的 Module (clean, install),因此您无法更改它。如果这是一个开源项目,您可以提供参考吗?
-
我相信 maven 作为构建工具应该用于为项目的分发版本创建所需的文件层次结构(例如,将所有依赖项复制到单个 lib 文件夹,将许可证/自述文件移动到根文件夹等),而不是像许多项目那样使用 shell 脚本。源代码尚未处于我可以分享的状态。