2010-01-06 3 views
4

필자는 이클립스 플러그인을 가지고 있는데, 다른 것들 중에서도 프로젝트를 생성하고 여러 클래스 패스 엔트리를 줄 수있다. 이것은 자체적으로 잘 작동합니다.Eclipse에서 JavaDoc URL을 프로그래밍 방식으로 클래스 경로 항목에 설정하는 방법은 무엇입니까?

이러한 jar에는 소스가 포함되어 있지 않지만 Javadoc에 사용할 수있는 URL이 있습니다. 플러그 인이 만드는 이러한 클래스 경로 항목에 대해 프로그래밍 방식으로이를 설정하려고합니다. 이것은 내가하고있는 것입니다 :

IClasspathEntry cpEntry; 

    File[] jarFile = installFilePath.listFiles(); 

    IPath jarFilePath; 
    for (int fileCount = 0; fileCount < jarFile.length; fileCount++) 
    { 
     jarFilePath = new Path(jarFile[fileCount].getAbsolutePath()); 
     cpEntry = JavaCore.newLibraryEntry(jarFilePath, null, null); 
     entries.add(cpEntry); 
    } 

나는 claspath 항목에 JavaDoc URL 위치를 설정하는 방법을 알지 못했습니다. 이 작업은 Eclipse UI에서 수행 할 수 있습니다. 예를 들어, 프로젝트를 마우스 오른쪽 단추로 클릭하고 Properties ... -> Java Build Path로 이동 한 다음 JAR 항목 중 하나를 확장하고 "Javadoc 위치"를 편집하면 URL. 플러그인에서이 작업을 수행하려면 어떻게해야합니까?

답변

1

나는 다음과 같은 사용

 Path pth = new Path(MY_JARFILE_LOCATION); 
     Path pthd = new Path(MY_JAVADOC_LOCATION); 
     ClasspathAttribute att = new ClasspathAttribute("javadoc_location", "file:" + pthd.toOSString()); 
     IClasspathAttribute[] atts = new IClasspathAttribute[] { att }; 
     IClasspathEntry cpISDI = JavaCore.newLibraryEntry(pth, null, null, null, atts, false); 
     cpEntries.add(1, cpISDI); 

(편집 형식)

1

yakir의 대답은 정확하지만, 직접 개인 API를 이클립스 인 (ClasspathAttribute을 구성하기보다는 공공 팩토리 메소드를 JavaCore.newClasspathAttribute() 사용하는 것이 좋습니다). 예를 들어 :

File javadocDir = new File("/your/path/to/javadoc"); 
IClasspathAttribute atts[] = new IClasspathAttribute[] { 
    JavaCore.newClasspathAttribute("javadoc_location", javadocDir.toURI().toString()), 
}; 
IClasspathEntry cpEntry = JavaCore.newLibraryEntry(libraryPath, null, null, null, atts, false); 
+0

또한 함께 'JavaCore.newClasspathAttribute ("javadoc_location"...' 을 대체 할 수 'JavaCore.newClasspathAttribute (IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME ...' – joeymink

관련 문제