작동하지 않는 단편 프로젝트를 Eclipse 플러그인을 확장 할 때. 주된 이유는 제 3 자 플러그인이 기본 (패키지) 수정자를 가진 클래스를 포함하고 있기 때문입니다.클래스 로딩은 내가 조각 프로젝트를 사용하여 타사 이클립스 플러그인을 확장하기 위해 노력하고
따라서, 내 확장 클래스는 정확히 같은 패키지에 있어야합니다. 동일한 패키지를 포함하는 프래그먼트 프로젝트를 만들고 클래스를 배치합니다. 런타임 작업 영역을 사용할 때 모든 것이 잘 작동합니다. 내 조각을 배포하려고하면
그러나, (예를 들어, 내 이클립스 분포의 dropins 폴더에 배포하기), I는 코드를 실행할 수 없습니다입니다. 확장 기능과 같은 것들이 잘 작동합니다 (예를 들어, 새로운 실행 구성을 위해 확장을 사용합니다. 그러나이 실행 구성을 인스턴스화하려고하면 타사 루트 플러그인이 클래스를로드 할 수 없다는 오류 메시지가 나타납니다. 당신이에서 호스트에 클래스를 재정의 할 수 없습니다? 문제의이 종류.
사실, 난 그냥 플러그인의 클래스 경로에 추가 클래스를 추가하려면, 클래스를 대체하지 않습니다. 나는 이것이 파편을 사용함으로써 가능해야한다고 생각했다. 앞에서 말했듯이 JAR 파일을 조각으로 배치하고 런타임 작업 영역에서 조각을 실행하지 않는 한 실제로 작동합니다. –
그리고 그것은 실제로 가능합니다! 그리고 단편의 주요 용도 중 하나 :-) –
좋아, 그럼 왜 내 경우에 ClassNotFoundException을 얻습니까? 나쁜 점은 문제 해결을 위해 스택 추적을받지 못한다는 것입니다. 메시지와 함께 ErrorDialog를 얻었고 오류 로그는 비어 있습니다. 정확히 무엇을할지는 Eclipse 확장을 통해 새로운 실행 구성을 등록하고이 실행 구성을 인스턴스화하려고하면 문제가 발생한다는 것입니다. 이것은 아마도 확장 점 구현 내에서 문제가 되었습니까? 아니면 뭔가 간과 했습니까? –