Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
maven jdocbook插件坐标和依赖关系_Maven_Docbook - Fatal编程技术网

maven jdocbook插件坐标和依赖关系

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

我正在尝试使用maven jdocbook插件和maven 3运行docbook

使用最小配置:

<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>