2012-11-01 4 views
2

OSGi에서 일반적인 "사용 충돌"문제가 있습니다. OSGi를 처음 접했으므로 매우 간단합니다. 나는 thisthis other의 질문을 읽었습니다. 또한이 문제를 디버그하는 방법을 자세히 설명하는 this을 읽었습니다. 아직, 나는 그것을 알아낼 수 없다. 나는 (그 마지막 기사가 인용 "당신이이 제약 조건 위반을 사용하여 볼 수 있도록 항상 하나 개 이상의 공급 업체가 있어야합니다.") 중복 수출을 찾을 수 없습니다패키지가 충돌을 사용합니다 : jasperreports가있는 가져 오기 - 패키지

이 전체 오류 여기

[email protected]:file:../../Dev/mine/target/dependency/jasperreports-3.7.1-osgi.jar [151] 
    Package uses conflict: Import-Package: org.apache.commons.collections.comparators; version="0.0.0" 

입니다 재스퍼 매니페스트의 관련 스 니펫입니다. packages org.apache.commons.collections.comparators의 출력이 패키지가 올바르게 수출 한 번만

osgi> packages org.apache.commons.collections.comparators 
org.apache.commons.collections.comparators; version="3.2.0"<org.apache.commons.collections_3.2.0 [869]> 

어떤 아이디어 것을 보여주기 위해 여기에 완전히

Export-Package: ...,net.sf.jasperreports.crosstabs.fill.calculation;uses:="org.apache.commons.collections,net.sf.jasperreports.engine,org.apache.commons.collections.comparators,org.apache.commons.logging,..." 

를 붙여 너무 깁니다 그리고? 내가 할 수있는 다른 뭔가? 정말 의심 스럽지만, 내 보낸 버전이 3.2.0이지만 uses 버전이 0.0.0이라는 불평입니다.

답변

0

세 번째 옵션으로 끝났습니다. @PeterKriens 제안과 관련이 있습니다. 다른 사람들이 이러한 문제를 해결할 수있는 또 다른 방법이되기를 바랍니다. Karaf을 설치했는데, Felix의 맨 위에서 실행되고에 한 병을 배치하기 위해 hot-deploy 폴더를 사용했습니다. 이 방법으로 나는 그들이 문제를 볼 수 있었다. 매우 느리지 만 장황합니다. 펠릭스 만 사용하여 이처럼 배포 할 방법을 찾지 못했습니다.

2

Apache Felix에서 실행 해보십시오. 사용 충돌을 발견하면 광범위한 추적을 제공합니다.

관련 문제