2

我正在开发一个生成器项目,该项目分为多个 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 所在的位置?

4

0 回答 0