2010-12-02 2 views
1

TLDGen 라이브러리를 사용하는 taglib 프로젝트가있어 클래스의 주석에서 TLD 파일을 작성할 수 있습니다. 그런 다음 Maven JavaDoc 플러그인에 플러그인하여 javadoc : javadoc Maven 목표를 통해 TLD 파일을 빌드하게합니다. 이것을 처리하는 부분은 다음과 같습니다 :Maven Javadoc Plugin 및 TLDGen을 사용하여 여러 TLD 생성

<build> 
    ... 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.7</version> 
      <configuration> 
       <doclet>org.tldgen.TldDoclet</doclet> 
       <docletArtifact> 
        <groupId>com.google.code.tldgen</groupId> 
        <artifactId>tldgen-all</artifactId> 
        <version>1.0.0</version> 
       </docletArtifact> 
       <show>private</show> 
       <additionalparam>-name test 
        -uri "http://www.mycompany.com/tags/wibble" 
        -tldFile ..\..\..\src\main\resources\META-INF\w.tld 
       </additionalparam> 
       <useStandardDocletOptions>true</useStandardDocletOptions> 
       <author>false</author> 
       <encoding>utf-8</encoding> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

그리고 이것은 환상적으로 작동합니다. 문제는이 프로젝트에서 2 개의 TLD를 만들고 싶다는 것입니다. 내가 addtionalparam 요소에 -subpackages 속성을 전달할 수 있기 때문에 원하는만큼 정확하게 TLD를 생성 할 수 있습니다.

하지만 그 시점에서 하나의 구성 요소 만 가질 수 있습니다. 필자는 두 개의 보고서 세트를 사용하여 내 pom의보고 섹션으로 구성을 옮겨 보았습니다.

아무도 이것을 시도한 적이 없으며 올바른 방향으로 올바른 방향으로 나를 가리킬 수 있습니까? 건배!

답변

0

이 질문이 게시 된 지 오래되었지만 여기 TLDGen을 사용하여 여러 번 tld 생성을 수행 한 방법이 있습니다. 프로젝트에서 끝난 사람들이 당신의 대답을 참조로 사용했기 때문에 나는 당신의 질문에서 시작했다.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.7</version> 
    <configuration> 
     <includes> 
      <include>**</include> 
     </includes> 
     <doclet>org.tldgen.TldDoclet</doclet> 
     <docletArtifacts> 
      <!-- listing all dependencies for tldgen: 
      the tldgen library, commons-logging, commons-io, 
      commons-lang, geronimo-jsp_2.1_spec, log4j, saxon, stax 
      not sure if they have to be listed here, will have to check; if I 
      don't set them I get class not found errors, but I'm guessing I 
      have a misconfiguration --> 
     </docletArtifacts> 
     <show>private</show> 
     <additionalparam> 
      -htmlFolder ${basedir}/target/docs 
      -tldFolder ${basedir}/src/main/java/META-INF 
      -license NONE 
     </additionalparam> 
     <useStandardDocletOptions>true</useStandardDocletOptions> 
     <author>false</author> 
     <encoding>utf-8</encoding> 
    </configuration> 
    <dependencies> 
     <dependency> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jsr173_api</artifactId> 
      <version>1.0</version> 
     </dependency> 
    </dependencies> 
    <executions> 
     <execution> 
      <phase>generate-resources</phase>        
      <goals> 
       <goal>javadoc</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin>