2011-08-03 7 views
1

나는 플러그인 개발을 이클립스하기에 익숙하다. 그리고 나는 이클립스 플러그인 코드를 물려 받았고, 나는 비교적 간단한 것을 어떻게하는지 알아 내려고 노력 중이다.Eclipse 플러그인에서 프로젝트 클래스를 표시하는 방법은 무엇입니까?

간단히 말해 프로젝트에서 Java 클래스를 마우스 오른쪽 버튼으로 클릭하면 마법사가 열리고 선택한 Java 클래스의 정규화 된 클래스 이름이 텍스트 필드에 나타납니다. "다음"을 클릭하면 코드에서 CClass.forName(s)을 시도합니다. 여기서 s는 클래스 이름입니다.

문제는 Class.forName이 클래스를 발견하지 못합니다. 예외는 Eclipse 프로젝트의 Java 클래스가 실제로 마법사의 클래스 경로에 있지 않기 때문입니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까? Eclipse 프로젝트의 클래스가 클래스 패스 방식으로 마법사에 표시되도록하려면 어떻게해야합니까?

답변

1

Class.forName()을 사용할 수 없습니다. 플러그인이 작동하는 Java 프로젝트의 Java 클래스는 플러그인과 동일한 프로세스가 아니며 모든 클래스 로더에로드 할 수는 없습니다.

JDT의 Java 모델 또는 Java AST API를보고 Java 프로젝트의 Java 파일에서 작동하는 플러그인을 작성해야합니다.

http://www.vogella.de/articles/EclipseJDT/article.html

0

당신은 다음 먼저 선택 자바 프로젝트의 클래스 로더를 얻을 클래스를로드하는 클래스 로더를 사용해야합니다 도움이 될 것입니다 읽기. Java 프로젝트의 클래스 로더는 eclipse 플러그인의 클래스 로더와 다릅니다. 다음 링크의 세부 코드를 참조하십시오. https://sdqweb.ipd.kit.edu/wiki/JDT_Tutorial:_Class_Loading_in_a_running_plugin

링크의 코드는 선택한 프로젝트의 클래스 로더를 가져 오는 방법을 알려줍니다.

관련 문제