2013-07-05 2 views
2

나는 두 가지 종속성을 갖는 maven 프로젝트가 있습니다 : DependencyADependencyB입니다. 각각의 의존성에는 클래스가 있으며, 이것을 FooClass이라고 부를 수 있습니다. 내 프로젝트 중 하나 개의 클래스가 DependencyAFooClass을 필요로하고 다른 클래스가 DependencyBFooClass 필요하기 때문에종속성이 다른 동일한 Maven 동일한 클래스 이름

지금, 문제가있는 것입니다. 그러나 두 클래스 모두 FooClassDependencyA입니다.

이 문제는 maven으로 해결할 수 있습니까? 아니면 내 프로젝트 구조의 디자인에 대해 생각해야합니까?

답변

3

동일한 패키지에 동일한 이름의 클래스가 두 개씩 표시되는 것을 방지해야합니다. 이것은 하나의 코드가 다른 버전의 두 모듈을 가지고 있다는 아이디어로 이어질 것입니다 ...

예를 들어 com.yourcompany.yourproyectA.FooClass 및 com.yourcompany.yourproyectB.FooClass가 있다면 문제가되지 않습니다. .

이 시나리오는 자주 발생하며 maven에 문제가 없었습니다.

감사

+0

FooClass가 동일한 패키지에 없습니다. 동일한 메이븐 종속성에도 해당되지 않습니다. – smsnheck

+0

같은 패키지에 없다면 아무런 문제가 없어야합니다. 가져 오기 문이 올바른지 확인하십시오. – Puce

+1

다른 maven 종속성에 com.yourproject.FooClass 클래스가 두 개있는 경우 클래스가 같고 클래스가 같으므로 문제가 발생할 수 있습니다. 따라서 패키지 이름이 동일한 지 묻는 것입니다. 별도의 종속성이 있더라도 동일한 패키지입니다. – Martin

1

두 라이브러리 같은 라이브러리의 서로 다른 두 가지 버전이 필요하면, 나는 그런은 OSGi와 같은 모듈 시스템을 사용하는 것이 좋습니다.

관련 문제