2011-08-10 16 views
7

Java 프로젝트 을 파일 구조만을 기반으로 컴파일하므로 코드를 작성하고 IDE없이 컴파일 할 수 있습니다. 현재 문제는 내가 컴파일하는 동안 javadoc을 자동으로 생성하고 싶습니다. Java 6에서 JavaCompiler 객체를 제공하지만 javadoc 명령을 사용할 방법을 찾을 수는 없습니다.Java를 사용하여 javadoc을 생성하려면 어떻게해야합니까?

Java 코드를 사용하여 프로젝트에 javadoc html을 생성하려면 어떻게해야합니까?

+1

를 사용하려면? 이미 성숙한 Java 빌드 도구가 있으며이 모든 작업을 수행합니다. 그 중 하나를 사용하고 자신과 코드를 인수하는 사람에게 엄청난 기술적 빚을주지 마십시오. –

+0

나는 이것에 대해 말하지 않을 것이다 : Ant/Maven/Gradle 모두 구성 파일을 작성해야한다. 필요하지 않은 유틸리티를 만들었다면 다음과 같은 확실한 유스 케이스가 있습니다 :-) – Rich

답변

7

Apache AntApache Maven은 모두 당신이 쓰고있는 것과 비슷한 목표 (IDE없이 컴파일)를 달성하기위한 도구입니다.

두 가지 모두 javadoc 생성을 지원합니다. 개미 구문은 다음과 같습니다

<!-- publish javadoc --> 
<target name="javadoc" description="Creates javadoc for IMP."> 
     <delete dir="${web-javadoc}"/> 
     <javadoc sourcepath="${source}" 
       defaultexcludes="no" 
       destdir="${web-javadoc}" 
       author="true" 
       version="true" 
       use="true" 
       windowtitle="IMP: Integrated Mechanisms Program" 
       overview="${source}/overview.html" 
       classpathref="debug.classpath" 
       stylesheetfile="${javadoc-theme}/stylesheet.css" 
     /> 

     <copy file="${javadoc-theme}/javadoc.jpg" tofile="${web-javadoc}/javadoc.jpg"/> 
</target> 

당신은 정말 자신에 그것을 생성 할 경우 왜 Doclet API

import com.sun.javadoc.*; 

public class ListClass { 
    public static boolean start(RootDoc root) { 
     ClassDoc[] classes = root.classes(); 
     for (int i = 0; i < classes.length; ++i) { 
      System.out.println(classes[i]); 
     } 
     return true; 
    } 
} 
+0

매우 철저합니다. 네가 멍청하다고 생각한다고해도 내 질문에 대한 대답을 주셔서 감사합니다. –

+0

도구가 필요를 충족하면 시간을 절약하고 싶습니다. 멍청하다고 생각하지 않았어. – JohnKlehm

1

은 도구 문서에서 Running the Standard Doclet Programmatically 참조하십시오.

+0

왜 downvote입니까? –

+0

답변에 대한 실질적인 문제는 없습니다. miku의 대답은 조금 나아졌으며 (몇 분 일찍 나타났습니다) 답변 전에 랭킹이되었는지 확인하고 싶었습니다. 죄송합니다, downvote이 일어날 수있는 유일한 방법이었습니다. –

+2

@ Paŭlo : 알겠습니다. 내 이해로, 그것은 downvoting의 좋은 사용하지 않습니다. Downvotes는 유해하거나 잘못된 답변을 표시하기위한 것입니다. –

5

터미널에 javadoc을 입력하면 좋은 옵션 목록을 얻을 수 있습니다. 간단한 :

javadoc -d your_output_directory -classpath your_classpath -sourcepath your_sourcefile_dir 
0

javadoc 그 명령이 있습니다, 그것은 JDK (유닉스 플랫폼에서 남자의 javadoc)

그러나, 더 나은 방법이 있습니다와 함께 제공됩니다. 어떻게 코드를 컴파일하고 있습니까? 당신이 개미 또는 받는다는과 같은 자동화 된 빌드 도구를 사용하는 경우 (다른 도구가 유사한 기능을 가지고 개미에 대한 추가 정보를 원하시면 코드

http://ant.apache.org/manual/Tasks/javadoc.html

를 컴파일 할 때마다 자동으로의 javadoc을 생성하는 javadoc의 작업을 추가 할 수 있습니다 자세한 내용은 도구 설명서를 참조하십시오.)

이것이 내가하는 일이며, 훌륭하게 작동합니다.

관련 문제