我有一个multimodule maven项目,我想在最后创建一个包含.ear
和文档的ZIP文件。
文档是使用 docbkx 创建的,并且是父项的一部分。
.ear
文件在模块中生成。
我的结构:
partent
|-src/docbkx
|-moduleEJB
|-moduleEAR
我现在在哪里?
mvn clean package
)mvn clean site
)我现在想要将生成的文档PDF包含在我的ZIP文件中。我怎样才能做到这一点?我试图包含我的父项目的目标目录,但没有发生任何事情 - 这似乎是合乎逻辑的,因为当我运行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:
的docbooks执行部分 <executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>generate-pdf</goal>
</goals>
<configuration>
</configuration>
</execution>
</executions>
提前致谢
编辑:我也尝试将docbkx的阶段改为编译,但在我的最终zip中仍然没有。
答案 0 :(得分:1)
我自己得到了它。由于父项目是最后一个构建我创建了一个名为文档的新项目来创建PDF。然后我使用文件集
将其添加到zip中<fileSet>
<directory>${project.build.directory}/../../documentation/target/docbkx/pdf</directory>
<includes>
<include>*.pdf</include>
</includes>
<outputDirectory>docs/</outputDirectory>
</fileSet>