我正在开发一个生成器项目,该项目分为多个 Maven 子项目:
root
|pom.xml
|target/
|
+module1
| |pom.xml
| |target/
|
+module2
|pom.xml
根 pom 的包装类型为“pom”。
Module1 现在将使用
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
在依赖 jar 上执行 exec:java,它将为相对路径“target/generated-sources/...”生成一些代码
我现在的问题是,当从 module1 中执行 mvn clean install 时,一切正常,结果在“root/module1/target”中。
但是当使用 mvn clean install 从根目录开始时 - 然后代码将生成到 root/target 并且不会被 module1 pom.xml 编译/打包 - 这里的结果是一个空 jar。
所以我假设从模块内部或从根目录开始时工作目录是不同的。
我怎样才能实现这两种启动(从 root 或 module1)将产生相同的结果?- 即如何实现工作目录始终存在于实际执行的 pom.mxl 所在的位置?