2010-04-08 3 views
6

전에 플러그인 조각으로 작업 한 적이 없습니다. 조각 내에서 새 클래스를 만들고 조각 매니페스트에 포함 된 패키지를 내 보내면 이미 호스트 플러그인에 종속되어있는 다른 플러그인에서 해당 클래스에 액세스 할 수있을 것이라고 생각했습니다. 그러나, 나는이 일을 할 수없는 것 같습니다. 프래그먼트의 내용이 호스트 플러그인 외에 모든 플러그인에 표시됩니까? 그렇다면, 이것을 허용하기 위해해야 ​​할 특별한 것이 있습니까?프래그먼트의 내용이 호스트 플러그인 외부에 표시됩니까?

답변

8

문제는 조각의 내용이 다른 플러그인에 표시되지 않는다는 것입니다. 클래스 패스로부터의 프롭퍼티 파일. 프롭퍼티 파일이 프래그먼트에 의해 제공되고있는 경우는, 그 파일이 계속 동작합니다.

하지만 가지고 있지 않은 것은 조각의 내용에 대한 컴파일 타임 정보입니다. 그것은 단편의 원리입니다. 당신은 그것에 의존 할 수 없습니다. 누군가가 파편을 설치했는지 알지 못합니다.

"호스트 플러그인 이외의 모든 플러그인"에있는 문제도 아닙니다. 호스트 플러그인 자체에도 문제가 있습니다. 컴파일 타임에 조각의 존재에 대해 알지 못합니다.

호스트 플러그인 클래스의 일부를 신뢰할 수있게 조각을 사용하여 대체 할 수 없습니다 : FAQ Can fragments be used to patch a plug-in? (원하는 경우 수행). 이 페이지는 어떻게 할 수 있는지 설명합니다.

희망이 도움이됩니다.

+0

감사합니다. 철자가 새겨 져있어이 모든 것이 나에게 완벽합니다. 호스트 플러그인조차도 컴파일 시간에 조각에 대한 정보를 사용할 수 없다는 사실을 깨달았어야합니다. 나는 원래 테스트 코드를 포함시키고 싶었 기 때문에 조각에 대해 궁금했다. 프래그먼트 밖에서 테스트 코드를 사용할 수 없다는 것은 실제로 좋은 이점입니다. –

관련 문제