Maven 2 Maven汇编插件-多模块项目-源代码和javadoc未添加到zip文件

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

我已经完成了一个多模块项目,并使用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\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。 在这里发布,以防任何人遇到类似的问题,这可能会有所帮助