2012-11-02 6 views
0

다음 모듈을 사용하여 다음 프로젝트를 가지고 있습니다 : app, app-impl, web. 나는 maven-war-plugin으로 웹을 구축한다. 지금 app-implapp에 달려 있습니다. webapp-impl에 달려 있습니다.전쟁 건물에 대한 의존성을 추가하십시오.

그러나 webapp에만 의존해야합니다. 일부 마술 전쟁을 통해 플러그인에는 app-impl이 포함되어야합니다. 추가적인 maven 모듈없이 할 수 있을까요?

답변

2

나는 절대적으로 @Torsten에 동의하지만, 어쩌면 당신의 요구에 유효 무언가가 : 프로젝트를 개발하는 IDE를 사용하는 경우

, 당신은 당신의 구현 코드 완성 목록에서 클래스를 제공 중단을 요구할 수는.

이유가 있다면 두 종속성을 모두 추가하기 만하면 구현 1에 대해 <scope>runtime</scope>을 지정하십시오. 하지 않습니다

  • 당신의 app 모듈은 javac의의 클래스 경로에 도착하지만, app-impl
  • 모두 app과 (제대로 구현 경우) app-impl이 전쟁
  • IDE에 WEB-INF/lib/ 아래에 배치됩니다하지 않습니다 이것은 보장 app-impl

이것은 확실히 당신에게 키 스트로크를 저장하지 않지만, 당신에게 더 나은, 조심스럽게 모드를 제공합니다 현실을 꿈꾸며.

+0

전적으로 동의합니다. 추가해 주셔서 감사합니다. – Torsten

+0

런타임 범위 내가 검색 한 범위였습니다. 감사. –

2

appweb에 대한 의존성을 가진 IMHO는 실제로 웹 응용 프로그램이 app에 정의 된 것으로 가정하는 인터페이스 구현에 의존하기 때문에 현실을 반영하지 않습니다.

app-impl2과 같은 대체 구현 방법을 고려하십시오. Maven이 선택할 구현을 어떻게 결정할 수 있습니까?

그래서 app-impl에 의존하는 웹은 나에게 가고 위의 설정도 주어진대로 작동해야합니다.

관련 문제