我正在处理一个生成器项目,该项目被拆分为多个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全新安装时,一切正常,结果在“ root / module1 / target”中。
但是从带有mvn clean install的根目录开始时-代码将生成到root / target,并且不会被module1 pom.xml编译/打包-这里的结果是一个空的jar。
因此,我认为从模块内部或从根目录开始时,工作目录是不同的。
如何实现两种启动方式(从root或module1开始)都具有相同的结果? -即如何实现工作目录始终位于实际执行pom.mxl的位置?