2012-02-07 2 views
0

내가 때때로 자신의 해결 의존성에서 다음 중 모두 끝날 프로젝트 참조 : 버전 번호가 기본적으로 이름의 일부입니다다른 Oracle 드라이버간에 충돌을 생성하도록 Ivy를 구성 할 수 있습니까?

org="com.oracle" name="ojdbc14" 
org="com.oracle" name="ojdbc6" 

때문에를, 일반 분쟁 해결 방법을 검색하거나이 문제를 해결하지 않습니다.

Ivy에서 처리하도록 구성 할 수 있습니까? 빌드를 깨는 것만으로도 괜찮을 것입니다.

(이름을 변경하면이 시점에서 옵션을 선택하지 않습니다. 단순히 수동 중 하나를 제외한 이외의 뭔가를 찾고 있어요.) 나는 당신이 담쟁이 만 사용을 보장하기 원합니다 있으리라 믿고있어

+0

어떻게 당신이 첫번째 장소에 검색을 수행합니다

이 경우

가장 간단한 솔루션은 세계적 수준 exclude 당신의 담쟁이 파일에 문입니까? 저장소에 버전 번호가 없습니까? – oers

+0

둘 다 버전 번호가 있습니다. 관련성이없는 것으로 보였으므로 버렸습니다. 문제는 이름에 JRE 호환성 버전 인 "14"와 "6"입니다. 동시에 클래스 패스에 둘 다를 가지고있는 것은 의미가 없습니다. 그러나 아이비는 그들이 두 개의 다른 모듈이라고 생각하고 이것에 문제가 없다. –

답변

1

이 JDBC 항아리를 사용할 수 있습니까?

<dependencies> 
    <dependency .. 
    <dependency .. 
    <dependency .. 

    <exclude org="com.oracle" module="ojdbc14"/> 
</dependencies> 
+0

나는 그것이 선택 인 것을 안다. 나는 그들 중 하나를 수동으로 제외하는 것 이외의 것을 찾고있다. –

+0

글쎄, 당신이 질문에 윤곽을 말한대로 충돌 해결 기능은 일반적으로 동일한 모듈의 버전에 적용됩니다. 설정은 다른 모듈을 아이비로 그룹화하는 유일한 메커니즘이며 Maven의 범위 지정 메커니즘과 비슷합니다. 두 라이브러리 모두를 참조하는 Maven 모듈의 예제가 있습니까? 아마도 구성 매핑을 기반으로 하나를 제외 할 수 있습니다. –

관련 문제