该项目具有以下结构:
M
+---A
+---B
| +---B1
| +---B2
|
+---C
+---D
每个文件夹(M,A,B,B1,B2,C,D)都包含 pom.xml 文件。
B1中的pom.xml文件包含以下行:
<configuration>
<filters>
<filter>B/B1/PATH_TO_FILE_X</filter>
</filters>
</configuration>
运行
mvn clean install -Px -Dy -X
来自M文件夹:
使用程序集插件 2.4 ,一切正常正常。它查找path\M\B\B1\PATH_FO_FILE_X
并且它存在。 (绝对路径=项目路径+指定路径)
使用程序集插件 2.4.1 (或 2.5.3 ),文件 未找到。它会查找path\M\B\B1\B\B1\PATH_TO_FILE_X
并且有一个java.io.FileNotFoundException
。 (绝对路径=子模块路径+指定路径)
我可以手动更改无法解决的每个路径,但风险太大,因为某些路径可能以错误的方式解决。如果B\B1\PATH_TO_ANOTHER_FILE_X
中有B\B1\
,则可能会导致问题。
是否有通用的方法来解决这个问题(保持2.4到2.4.1的向后兼容性)?
详细信息:
更新
它似乎与2.4.1中引入的 maven-filtering 1.2 相关:
以下第2.4行:
<mavenFilteringVersion>1.1</mavenFilteringVersion>
被
取代<mavenFilteringVersion>1.2</mavenFilteringVersion>
在2.4.1。