我们有与maven一起使用的安装文件夹包装发布,
此Installation文件夹包含一些静态文件和一个pom.xml
构建目标是将静态文件复制到目标安装文件夹以及存储库中的一些zip文件 - 展开它们并将它们放在/解压缩下的目标文件夹中。
安装文件夹:
/installation_folder
pom.xml
/some_files
/file1
/file2
目标文件夹应该是:
/target
/installation_files
/some_files
/file1
/file2
/unzipped
/prj1 - unzipped artifact prj1 from the repository
/prj2 - unzipped artifact prj2 from the repository
在这个“安装pom”上 - 我有一个对程序集xml的引用;我能够复制静态文件 - 并从存储库中获取artifacs,
问题是 - 从存储库中复制zip并将其展开到目标/解压缩文件夹中
我应该使用Modules和moduleSet或dependency和dependencySets吗?
如果pom.xml + assembly.xml看起来像:
project.group
installation_project
POM
<modules>
<module>prj1</module>
<module>prj2</module>
</modules>
...
和assembly.xml:
<moduleSets>
<moduleSet>
<includes>
<include>*:*</include>
</includes>
<binaries>
<unpack>true</unpack>
</binaries>
</binaries>
</moduleSet>
或者看起来应该是这样的:
<project>
<groupId>project.group</groupId>
<artifactId>installation_project</artifactId>
<packaging>pom</packaging>
<dependencies>
<dependency>
<artifactId>prj1</artifactId>
<groupId>gruop_id</groupId>
<version>1.0-SNAPSHOT</version>
<type>zip</type>
</dependency>
<dependency>
<artifactId>prj2</artifactId>
<groupId>gruop_id</groupId>
<version>2.0</version>
<type>zip</type>
</dependency>
</dependencies>
...
和assembly.xml:
<dependencySets>
<dependencySet>
<outputDirectory>installation_files/unzipped/</outputDirectory>
<outputFileNameMapping>${artifact.artifactId}</outputFileNameMapping>
<includes>
<include>*:*:zip</include>
</includes>
<unpack>true</unpack>
</dependencySet>
</dependencySets>
谢谢!
答案 0 :(得分:1)
另一种方法是使用maven依赖插件,使用goal = unpack。
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<type></type>
<overWrite></overWrite>
<outputDirectory></outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
另一种方法是使用一个程序集插件,但我发现这非常麻烦,通常意味着比简单的解压缩/压缩更复杂的程序集创建。