将 parents 文档包含到 zip-file
Include parents documentation into zip-file
我有一个多模块 Maven 项目,我想在最后创建一个 ZIP-File,其中包含 .ear
和文档。
文档由 docbkx 制作,是 parent 的一部分。
.ear
文件是在模块中创建的。
我的结构:
partent
|-src/docbkx
|-moduleEJB
|-moduleEAR
我现在在哪里?
- 我可以创建一个包含我耳朵的 ZIP(使用
mvn clean package
)
- 我可以创建文档的 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>
我有一个多模块 Maven 项目,我想在最后创建一个 ZIP-File,其中包含 .ear
和文档。
文档由 docbkx 制作,是 parent 的一部分。
.ear
文件是在模块中创建的。
我的结构:
partent
|-src/docbkx
|-moduleEJB
|-moduleEAR
我现在在哪里?
- 我可以创建一个包含我耳朵的 ZIP(使用
mvn clean package
) - 我可以创建文档的 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>