将 parents 文档包含到 zip-file

Include parents documentation into zip-file

我有一个多模块 Maven 项目,我想在最后创建一个 ZIP-File,其中包含 .ear 和文档。

文档由 docbkx 制作,是 parent 的一部分。 .ear 文件是在模块中创建的。

我的结构:

partent
|-src/docbkx
|-moduleEJB
|-moduleEAR

我现在在哪里?

  1. 我可以创建一个包含我耳朵的 ZIP(使用 mvn clean package
  2. 我可以创建文档的 PDF 输出(使用 mvn clean site

我现在想将生成的 PDF 文档包含到我的 ZIP-file 中。我怎样才能做到这一点?我试图包含我的 parent 项目的目标目录,但没有任何反应 - 这似乎合乎逻辑,因为当我 运行 mvn clean package 时,文档 PDF 没有制作,因为它是 pre-site生命周期。

这是我的assembly.xml

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}</directory>
      <includes>
        <include>*.ear</include>
      </includes>      
      <outputDirectory>/</outputDirectory>
    </fileSet>
    <fileSet>
      <directory>${parent.project.build.directory}/docbkx/pdf</directory>
      <includes>
        <include>*.pdf</include>
      </includes>      
      <outputDirectory>docs/</outputDirectory>
    </fileSet>        
  </fileSets>
</assembly>

这是我的 parent.pom:

的文档执行部分
            <executions>
                <execution>
                    <phase>pre-site</phase>
                    <goals>
                        <goal>generate-pdf</goal>
                    </goals>
                    <configuration>
                    </configuration>
                </execution>
            </executions>

提前致谢

编辑:我也尝试将 docbkx 的阶段更改为编译,但在我的最终 zip 中仍然没有任何内容。

我自己得到的。由于父项目是最后一个构建的项目,因此我创建了一个名为 documentation 的新项目来创建 PDF。然后我使用文件集

将其添加到 zip
<fileSet>
  <directory>${project.build.directory}/../../documentation/target/docbkx/pdf</directory>
  <includes>
    <include>*.pdf</include>
  </includes>      
  <outputDirectory>docs/</outputDirectory>
</fileSet>