Maven 2 Maven汇编插件-多模块项目-源代码和javadoc未添加到zip文件
我已经完成了一个多模块项目,并使用maven的汇编插件压缩了项目的工件Maven 2 Maven汇编插件-多模块项目-源代码和javadoc未添加到zip文件,maven-2,maven-assembly-plugin,Maven 2,Maven Assembly Plugin,我已经完成了一个多模块项目,并使用maven的汇编插件压缩了项目的工件 Proj +Module A pom.xml +Module B pom.xml pom.xml 当我构建主模块时,它将生成以下内容 Proj +Module A target\A.jar target\A-source.jar target\A-javadoc.jar +Module B target\B.jar target\B-source.jar target
Proj
+Module A
pom.xml
+Module B
pom.xml
pom.xml
当我构建主模块时,它将生成以下内容
Proj
+Module A
target\A.jar
target\A-source.jar
target\A-javadoc.jar
+Module B
target\B.jar
target\B-source.jar
target\B-javadoc.jar
1) 我在ModuleB pom文件下添加了组装插件,并在组装描述器文件中使用ModuleSet
<moduleSets>
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
<include>groupA:A:jar</include>
<include>groupA:A:javadoc</include>
<include>groupA:A:source</include>
</includes>
<binaries>
<outputDirectory>moduleA</outputDirectory>
<unpack>false</unpack>
</binaries>
</moduleSet>
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
<include>groupB:B:jar</include>
<include>groupB:B:javadoc</include>
<include>groupB:B:source</include>
</includes>
<binaries>
<outputDirectory>moduleB</outputDirectory>
<unpack>false</unpack>
</binaries>
</moduleSet>
</moduleSets>
真的
A:A:jar
groupA:A:javadoc
A组:A:来源
模
假的
真的
组B:B:jar
groupB:B:javadoc
B组:B:来源
模B
假的
但我在zip文件下只得到了A.jar和B.jar。我没有在zip文件中获取javadoc和源代码。我怀疑它是从m2 repo下载的,因为源代码和java文档不会出现在maven Repree工件中。如何将这三个工件添加到zip文件中
2) 我想在我的父pom而不是ModuleB的pom中添加程序集插件,但如果我这样做,我会得到一个异常“请确保在生成程序集之前运行包阶段”。在谷歌搜索之后,我发现很少有建议将程序集添加为模块。是否有其他方法来处理此问题?我使用dependecySet来解决此问题,我们可以使用通配符添加所有二进制文件
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>bin</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
<includes>
<include>groupA:*:*:*</include>
</includes>
</dependencySet>
</dependencySets>
</assembly>
箱子
假的
拉链
A组:**:*
这将添加项目的所有二进制工件。还有一点需要注意的是在程序集描述符中使用的id。它应该是二进制工件的bin。
在这里发布,以防任何人遇到类似的问题,这可能会有所帮助