我已经定义了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>`
答案 0 :(得分:1)
目标目录 - 单一被标记为已弃用。此外,最新版本的maven-assembly-plugin是2.2.2而不是2.2。此外,为了任何目的创建存档,正确的阶段将是包阶段而不是编译器阶段,其中将完成源的编译。
答案 1 :(得分:0)
你执行的目标是什么?你先干净了吗?它可能正在跳过编译阶段,因为代码已经编译好了。