Maven程序集插件在编译阶段不会覆盖文件

时间:2011-04-25 17:37:40

标签: plugins maven maven-assembly-plugin

我已经定义了maven程序集插件并设置了pom以在“编译”阶段执行插件(assembly.xml)。 assembly.xml - 它使用“dependencySet”获取jar /文件,并使用“fileSet”将我的本地集替换为少量文件。

使用Maven程序集插件2.2 beta 2,它将替换文件。 使用版本2.2或2.2.1的程序集插件, a)它说“已经添加,跳过”并且不会覆盖。 b)如果我将阶段修改为“generate-resources”而不是pom中的“compile”,它会显示“已添加,跳过”消息,并且无论如何都会替换/覆盖文件。

想知道,版本之间发生了哪些变化,以及为什么相变会使其发挥作用。如果有人能够解释“编译”阶段究竟发生了什么(它不会覆盖),那将会很有帮助。 我的问题有解决方法吗?

提前感谢您的帮助!

包含以下摘录:

`<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2</version>
  <executions>
    <execution>
      <id>create-install-image-layout</id>
      <phase>compile</phase>
      <goals>
        <goal>directory-single</goal>
      </goals>
      <configuration>
        <descriptors>
           <descriptor>src/main/assembly/assembly.xml</descriptor>                                              
        </descriptors>                                     
        <ignoreDirFormatExtensions>false</ignoreDirFormatExtensions>
      </configuration>
    </execution>
  </executions>
 </plugin>`

2 个答案:

答案 0 :(得分:1)

目标目录 - 单一被标记为已弃用。此外,最新版本的maven-assembly-plugin是2.2.2而不是2.2。此外,为了任何目的创建存档,正确的阶段将是包阶段而不是编译器阶段,其中将完成源的编译。

答案 1 :(得分:0)

你执行的目标是什么?你先干净了吗?它可能正在跳过编译阶段,因为代码已经编译好了。

相关问题