保持Maven程序集插件的向后兼容性从2.4到2.4.1

时间:2015-03-19 15:56:30

标签: maven-3 maven-assembly-plugin

该项目具有以下结构:

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的向后兼容性)?

详细信息:

  • Maven 3.2.1
  • Java 7
  • Windows 7

更新

它似乎与2.4.1中引入的 maven-filtering 1.2 相关:

以下第2.4行:

<mavenFilteringVersion>1.1</mavenFilteringVersion>

取代
<mavenFilteringVersion>1.2</mavenFilteringVersion>

在2.4.1。

0 个答案:

没有答案