2017-11-24 14 views
3

Maven 도구를 사용하여 클린 아키텍처로 설계된 프로젝트가 있습니다.클린 아키텍처 Maven 모듈 종속성

내 진입 점 모듈 (E)은 유스 케이스 (UC) 모듈과 E 모듈 사이의 브리지 (BR) 인 다음 레벨에 종속됩니다. 그 BR 모듈은 UC 모듈에 의존성을 가지므로 UC도 E에서도 볼 수 있습니다. 모듈 S의 pom.xml에서 뭔가를 변경할 수 있습니다. 그러면 E는 UC를 볼 수 없지만 UC를보고있는 BR 모듈을 보게됩니까? 즉

나는 이런 식으로 뭔가가 :

E < isDependentOn> BR < isDependentOn> UC를? E에서 UC를 숨기는 방법?

저는 프로젝트 정책과 관련하여 제 코드를 공유 할 수 없기 때문에 이론적 인 질문을 썼습니다.

+0

그런 식으로 좀 더 자세히 설명해 주시겠습니까? 다른 도구가 C-A에 유용할까요? – nanukvs

+1

(이전 코멘트에 겹쳐서 재 시도) E BR UC 같은 것이 있습니까? E에서 UC를 숨기려면 BR 폴리에서 UC의 범위를'given'으로 설정하는 것만 가능합니다. 그렇지 않으면 몇 가지 개념이 섞여있는 것처럼 보이거나 maven이 C-A에 적합한 도구가 아닙니다. 다른 도구가 다른 사람에게 희망이 있다고 말할 수는 없습니다. – pirho

답변

2

POM Reference – Exclusions를 참조하십시오

제외가 명시 적으로이 종속성의 종속성입니다 지정된 프로젝트 (즉, 자사의 이적 의존성)을 포함하지 않는 것이 메이븐을 말한다. 예를 들어, [BR]에 [UC]이 필요하며, 해당 종속성을 사용하지 않으려는 경우 exclusion으로 추가합니다.

그래서 당신은 당신이 BR의 <dependency> 선언에 <exclusion>으로 UC를 선언 후자에서 E.의 종속성으로 BR 있습니다.

+0

물론. 나는 종속성이 Es pom에게 보이지 않아야하므로 심지어 배제 할 수 없다는 것을 이해했습니다. 이것이 C-A를 만족하면 좋다. – pirho