2012-09-10 1 views
0

3은 지금 매우 이상한 오류가 발생받는다는와의 더비에 의존 충돌 난 그냥 내 프로젝트에 BIRT를 이클립스에 대한 종속성을 추가

통합 테스트에
java.lang.SecurityException: sealing violation: package org.apache.derby.impl.store.raw.xact is sealed 

또는

java.sql.SQLException: Catalogs at version level 'null' cannot be upgraded to version level '10.5'. 
ERROR XCL20: Catalogs at version level 'null' cannot be upgraded to version level '10.5'. 

에 대한 첫 번째 점에 대한 인터넷 검색 더비에서의 의존성 충돌 가능성.

mvn dependency:list 

이이를 증명합니다. 흙이 더 필요해 10.5, 항아리에 10.8이 필요합니다. 그래서 두 더비 의존성은 전 이적입니다 (birts 의존성은 더 간접적입니다 - 트리에서 한 레벨 더 깊음).

어떻게 이러한 충돌을 해결할 수 있습니까?

내가 댄 매튜스 - 그라우트하여 대답을 시도 사이에

(POM의 순서를 변경하는 것은 도움이되지 않습니다) - 지금은 작동합니다

 <dependency> 
     <groupId>de.stalabw</groupId> 
     <artifactId>charts</artifactId> 
     <version>0.0.2</version> 
     <exclusions> 
      <exclusion> 
       <!-- does not work<groupId>org.apache.derby</groupId> but this:--> 
       <groupId>org.eclipse.birt.runtime.3_7_1</groupId> 
       <artifactId>derby</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

오류가 동일하고 "mvn dependency : list"는 변경되지 않았습니다. 종속성 표준시 charts-> birt-> 더비 나무의 관련 부분 : 사용

+- <myPackage.myProject>:metaDataService:jar:1.8.0:compile 
| +- org.apache.derby:derby:jar:10.8.1.2:compile 
... 
\- <myPackage>:charts:jar:0.0.2:compile 
    \- org.eclipse.birt.runtime:org.eclipse.birt.runtime:jar:4.2.0:compile 
     ... 
     +- org.eclipse.birt.runtime.3_7_1:derby:jar:10.5.1000001:compile 

답변

2

당신은 항목 중 하나에서 전이 종속성을 제외 할 수 있습니다

<dependency> 
    <groupId>sample.ProjectA</groupId> 
    <artifactId>Project-A</artifactId> 
    <version>1.0</version> 
    <scope>compile</scope> 
    <exclusions> 
    <exclusion> <!-- declare the exclusion here --> 
     <groupId>sample.ProjectB</groupId> 
     <artifactId>Project-B</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 

http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

+0

아무튼 ' 내 대답에 덧붙여 라. – dermoritz

관련 문제