maven jdocbook插件坐标和依赖关系
我正在尝试使用maven jdocbook插件和maven 3运行docbook 使用最小配置:maven jdocbook插件坐标和依赖关系,maven,docbook,Maven,Docbook,我正在尝试使用maven jdocbook插件和maven 3运行docbook 使用最小配置: <plugin> <groupId>org.jboss.maven.plugins</groupId> <artifactId>maven-jdocbook-plugin</artifactId> <executions> <execution> <id>default-c
<plugin>
<groupId>org.jboss.maven.plugins</groupId>
<artifactId>maven-jdocbook-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>generate</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
<configuration>
<sourceDirectory>src/main/doc/xml</sourceDirectory>
<sourceDocumentName>DocBook.xml</sourceDocumentName>
<formats>
<format>
<formatName>html</formatName>
<finalName>index.html</finalName>
</format>
</configuration>
</plugin>
所以有一个POM,但没有库
如果我为docbook xsl提供了一个显式依赖项,那么它确实下载了内容(但我仍然得到相同的错误):
net.sf.docbook
DocBookXSL
1.76.1
ns资源
拉链
我让它实际生成任何内容的唯一方法是给它一个docbook xsl版本,它有一个jar而不是zip:
<groupId>net.sf.docbook</groupId>
<artifactId>docbook-xsl-ns</artifactId>
<version>1.74.0</version>
net.sf.docbook
docbook xsl ns
1.74.0
如何使XSL模板的zip版本与此插件配合使用?这是我自己的问题解决方案: 带有jar打包的docbook xsl库(1.74.0)在运行时自动包含在maven jdocbook插件的类路径中 带有zip打包的版本(1.76.1)不是,需要手动解压缩。为此,我使用了maven依赖插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-docbook-xsl</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>net.sf.docbook</groupId>
<artifactId>docbook-xsl</artifactId>
<version>1.76.1</version>
<type>zip</type>
<classifier>ns-resources</classifier>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven依赖插件
解包docbook xsl
产生资源
打开
net.sf.docbook
DocBookXSL
1.76.1
拉链
ns资源
真的
${project.build.directory}
然后,我将maven jdocbook插件指向这个包中的样式表:
<formats>
<format>
<formatName>html</formatName>
<stylesheetResource>file:${project.build.directory}/docbook/html/chunk.xsl</stylesheetResource>
<finalName>index.html</finalName>
</format>
<format>
<formatName>pdf</formatName>
<stylesheetResource>file:${project.build.directory}/docbook/fo/docbook.xsl</stylesheetResource>
<finalName>${project.artifactId}-${project.version}.pdf</finalName>
</format>
<format>
<formatName>html_single</formatName>
<stylesheetResource>file:${project.build.directory}/docbook/html/docbook.xsl</stylesheetResource>
<finalName>index.html</finalName>
</format>
</formats>
html
文件:${project.build.directory}/docbook/html/chunk.xsl
index.html
pdf
文件:${project.build.directory}/docbook/fo/docbook.xsl
${project.artifactId}-${project.version}.pdf
单张
文件:${project.build.directory}/docbook/html/docbook.xsl
index.html
我欢迎您对这一过程的捷径提出任何建议。正如您自己所指出的,请输入zip类型的依赖项:
<dependencies>
<dependency>
<groupId>net.sf.docbook</groupId>
<artifactId>docbook-xsl</artifactId>
<version>1.76.1</version>
<classifier>ns-resources</classifier>
<type>zip</type>
</dependency>
</dependencies>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-docbook-xsl</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>net.sf.docbook</groupId>
<artifactId>docbook-xsl</artifactId>
<version>1.76.1</version>
<type>zip</type>
<classifier>ns-resources</classifier>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<formats>
<format>
<formatName>html</formatName>
<stylesheetResource>file:${project.build.directory}/docbook/html/chunk.xsl</stylesheetResource>
<finalName>index.html</finalName>
</format>
<format>
<formatName>pdf</formatName>
<stylesheetResource>file:${project.build.directory}/docbook/fo/docbook.xsl</stylesheetResource>
<finalName>${project.artifactId}-${project.version}.pdf</finalName>
</format>
<format>
<formatName>html_single</formatName>
<stylesheetResource>file:${project.build.directory}/docbook/html/docbook.xsl</stylesheetResource>
<finalName>index.html</finalName>
</format>
</formats>
<dependencies>
<dependency>
<groupId>net.sf.docbook</groupId>
<artifactId>docbook-xsl</artifactId>
<version>1.76.1</version>
<classifier>ns-resources</classifier>
<type>zip</type>
</dependency>
</dependencies>
<format>
<formatName>html</formatName>
<stylesheetResource>classpath:/docbook/html/chunk.xsl</stylesheetResource>
</format>