我们有一个单一来源的结构来构建一些AsciiDoc文档。一些构建使用带有AsciiDoctor插件的Maven;这是开发团队的一个要求。
但是我们需要一个共享的图像目录(这是另一个版本的要求)。我们不想在存储库中使用符号链接,这样人们就可以在Windows上进行本地构建。
我们现在的方法是在pom.xml的asciidoctor插件配置中指向imagesdir:
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<configuration>
<imagesDir>${project.basedir}/../../_images</imagesDir>
</configuration>
</plugin>虽然构建工作正常,但它无法将映像复制到target/generated-docs中。取而代之的是在其现有位置引用图像。
如何使Maven构建正确地复制这些图像,并在HTML文件中引用生成的文档中的副本?我当然可以写一个后处理脚本,但在Maven中必须有某种方法来完成。
发布于 2019-07-29 04:43:56
您可以使用资源插件复制所有图像。将此代码添加到您的构建中:
<build>
<resources>
<resource>
<directory>src/main/asciidoc/images</directory>
<targetPath>../generated-docs/images</targetPath>
<filtering>false</filtering>
</resource>
</resources>
</build>请相应地调整文件夹名称。使用设置为false的filtering,因为图像是二进制文件,并且您不希望Maven在这里进行替换。
根据您的设置,您可能不再需要imagesDir。imagesDir将仅指定图像相对于创建的HTML文件的位置。因此,它应该始终是相对URL。您的示例将包含一个绝对URL。
https://stackoverflow.com/questions/52225553
复制相似问题