2013-05-02 3 views
0

내 데이터 응용 프로그램에서 Jackrabbit 2.x과 통합하려고합니다.Jackrabbit RMI lucene conflict

내 애플리케이션 2.9.1

문제는 (3.6) 결과적으로 I는 jackrabbit-core를 배치 할 수 잭 래빗은 루씬의 상위 버전에 의존한다는 것이다 루씬 에 종속 항아리가 내 응용 프로그램과 같은 클래스 패스에있을 때 내 루센 항아리와 충돌합니다.

WebDAV 클라이언트를 구현하지 않고 RMI 구현을 사용하는 것을 선호하지만, jackrabbit-rmi jar도 jackrabbit-core과 Lucene에 종속됨을 알 수 있습니다.

응용 프로그램에서 jackrabbit RMI를 사용하여이 문제를 해결할 수있는 방법이 있습니까? 아니면 내 lucene 항아리를 업그레이 드하지 않고 Jackrabbit을 사용할 수있는 다른 솔루션이 있습니까?

답변

0

jarjar을 사용하여 최신 Lucene을 다른 패키지에 다시 패키징하고 거기에서 사용할 수 있습니다.

+0

문제는 제 버전이 오래되었다는 것입니다. 또한 패키징은 동일한 클래스 경로에서 두 항아리 모두를 참조하는 문제를 해결하지 못합니다. '새로운'패키지 항아리를 포함 시키면 다른 종속 관계와 충돌 할 수 있습니다. – Asaf

+0

새로운 Lucene을 필요로하는 자신의 코드 일 경우 다른 패키지를 통해 최신 Lucene API를 참조하는 것이 좋을 것입니다. 그러나 이들이 새로운 Lucene을 필요로하는 다른 라이브러리라면 jarjar 나 다른 도구가 도움이 될 것이라고 생각하지 않습니다. – mindas

0

Jackrabbit을 응용 프로그램 서버의 Ressource 공급자로 구성하는 방법은 무엇입니까? 따라서 JNDI를 통해 JCR API를 통해 참조 할 수 있습니다 (충돌이 발생하지 않도록 resource가 다른 클래스 로더에 있기 때문에).