2013-07-10 1 views
0

내가 사용의 DocBook을 실행하려고하고 받는다는-jdocbook - 플러그인 : 나는 다음과 같은 오류가받는다는-jdocbook - 플러그인 좌표와 의존성이

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

:

나는 내 로컬 메이븐 저장소에서 볼 때
[ERROR] Failed to execute goal org.jboss.maven.plugins:maven-jdocbook-plugin:2.3.8:generate (default-cli) on project <project>: Execution default-cli of goal org.jboss.maven.plugins:maven-jdocbook-plugin:2.3.8:generate failed: could not locate resource [/html/chunk.xsl] -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jboss.maven.plugins:maven-jdocbook-plugin:2.3.8:generate (default-cli) on project <project>: Execution default-cli of goal org.jboss.maven.plugins:maven-jdocbook-plugin:2.3.8:generate failed: could not locate resource [/html/chunk.xsl] 

나는 참조 :

$ ls ~/.m2/repository/net/sf/docbook/docbook-xsl 
$ 1.76.1 
$ ls ~/.m2/repository/net/sf/docbook/docbook-xsl/1.76.1 
$ _maven.repositories  docbook-xsl-1.76.1.pom  docbook-xsl-1.76.1.pom.sha1 

그래서 POM이 있지만 라이브러리가 없습니다.

내가의 DocBook-XSL에 대한 명시 적 종속성을주고, 그것을 다운로드 콘텐츠를 않습니다 (하지만 난 여전히 같은 오류가 발생)하는 경우 :

<dependency> 
    <groupId>net.sf.docbook</groupId> 
    <artifactId>docbook-xsl</artifactId> 
    <version>1.76.1</version> 
    <classifier>ns-resources</classifier> 
    <type>zip</type> 
</dependency> 

내가 실제로 아무것도 생성 할 수있는 유일한 방법은 제공하는 것입니다 그것을하지 지퍼 항아리를 가지고의 DocBook-XSL 버전 :

<groupId>net.sf.docbook</groupId> 
<artifactId>docbook-xsl-ns</artifactId> 
<version>1.74.0</version> 

가 어떻게이 플러그인과 함께 작동하도록 XSL 템플릿의 우편 버전을받을 수 있나요을?

답변

0

이 질문에 대한 내 자신의 솔루션입니다 : 실행시

항아리 포장 (1.74.0)과의의 DocBook-XSL 라이브러리가 자동으로 받는다는-jdocbook - 플러그인의 클래스 경로에 포함되어 있습니다.

지퍼 포장 (1.76.1)이있는 버전은 수동으로 압축을 풀어야합니다. 나는 짧은에 대한 어떤 제안을 환영 것

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

:이 패키지에 포함 된 스타일 시트에서 받는다는 - jdocbook-플러그인을 지적 그런

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

:이 용 받는다는 - 종속성 플러그인을 사용 이 과정을 거친다. 그 위에 할 필요가 적당한 classpath:/ URI를 사용하여 받는다는-jdocbook - 플러그인 내에서 <stylesheetResource>를 구성한다

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

:

1

당신은 형 지퍼의 의존성에 넣어, 자신을 언급 한 바와 같이 :

<format> 
    <formatName>html</formatName> 
    <stylesheetResource>classpath:/docbook/html/chunk.xsl</stylesheetResource> 
</format>