2016-09-20 3 views
0

필자 자신의 java 도블 렛을 작성해, 그것을 나중에 사용하기 위해서 단일의 jar 파일에 패키지화하고 싶다.Maven을 사용한 커스텀 javadoc 도크 렛의 패키프

나는 현재를 생성하기 위해 이러한 설정을 받는다는을 사용하고 있습니다 :

<build> 
    <finalName>Doclet</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.3.1</version> 
      <configuration> 
       <archive> 
       <manifest> 
        <addClasspath>true</addClasspath> 
        <mainClass>de.test.tools.doclet.Doclet</mainClass> 
       </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

     <!-- Maven Assembly Plugin --> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>make-my-jar-with-dependencies</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 

       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <mainClass>de.test.tools.doclet.Doclet</mainClass> 
        </manifest> 
       </archive> 

       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 

      </configuration> 
     </plugin> 
    </plugins> 
</build> 

문제 :
모든 것이 제대로 항아리에 포장되어 있지만, 내 소스가 누락되었습니다.
간단한 시도를하면 mvn package 태양 패키지가 존재하지 않는다고 알려줍니다.

error: package com.sun.javadoc does not exist

나는 마지막 부분은 내가 단지 내 소스를 찾을 수 없습니다, 따라서 내 질문에 내가 그 수입을 무시 받는다는 말할 수있는 방법을 왜 뒤에있는 주된 이유라고 생각합니다.

+0

[link] (http://maven.apache.org/plugins/maven-assembly-plugin/examples/multimodule/module-source-inclusion-simple.html)을 참조하십시오. –

답변

0

문제는 maven이 java 설치 디렉토리의/lib 폴더에있는 tools.jar에있는 com.sun.javadoc 패키지를 찾을 수 없다는 것입니다.

Eclipse는 클래스 패스에 추가했기 때문에 Eclipse를 실행할 수 있었지만, maven은 어디서 리소스를 얻을 수 있는지 전혀 몰랐습니다. 그래서 나를 위해 문제를 다음 시스템 의존성 해결 추가 :

<dependency> 
    <scope>system</scope> 
    <groupId>com.sun</groupId> 
    <artifactId>tools</artifactId> 
    <version>YOUR_JAVA_VERSION</version> 
    <systemPath>${java.home}/../lib/tools.jar</systemPath> 
</dependency> 

이 버전으로 버전을 교체하고 있는지 자바 홈은 환경에 알려져합니다.

참고 :이 종속성 은 MacOS에서 작동하지 않습니다. 참조 : JDK tools.jar as maven dependency - 요약 : 정확한 경로를 지정할 수 있도록 각 OS에 대한 프로필을 사용하십시오.

필자는 Linux + Windows 만 지원해야하므로 나에게 가장 적합한 솔루션입니다.

관련 문제