2013-07-05 2 views
0

나는 Maven을 사용하는데 두 가지 시나리오가있다. 그리고 그 둘 모두에서 모든 의존성을 포함하도록 Maven pom.xml에서 jar 파일을 만들고 싶다. 내가 그 안에 포함 된 프로젝트 B 항아리를 포함 할 Maven 프로젝트 A를 빌드 할 때 이클립스 프로젝트 종속성을 Maven 프로젝트에 추가하기

  1. 는 내가 그렇게 할 수있는 방법, 메이븐 프로젝트 A로부터 메이븐 프로젝트 B에 일식 buildpath 의존성이?

  2. 또한 Maven 프로젝트 B에는 모든 Maven 저장소에서 사용할 수없는 사용자 정의 jar가 추가 된 lib 폴더가 있습니다. 프로젝트 B가 자체 maven pom을 사용하여 자체 빌드 될 때이 Jar도 포함되도록해야합니다. .xml.

어떻게이 두 시나리오를 수행 할 수 있습니까? 모든 지침은 크게 감사하겠습니다.

감사합니다.

+0

ProjectB를 projectA에 어떻게 포함 시키시겠습니까? 그리고 어떤 종류의 프로젝트를 만들고 있습니까? 당신이 만드는 항아리는 어떻게 사용할까요? – Behe

+0

프로젝트 B를 프로젝트 A에 포함 시켜서 프로젝트 A 병을 Java 응용 프로그램으로 실행할 수있게하려면 프로젝트 A와 프로젝트 B가 모두 Java 프로젝트입니다. – user1965449

답변

1

질문 1에 대해 잘 모르겠지만, 올바르게 이해하면 Eclipse가 두 개의 Maven 프로젝트를 빌드하고 싶습니다. A는 B에 의존합니다. 그런 다음 m2eclipse과 같은 Eclipse 플러그인을 사용할 수 있습니다.

두 번째 질문에 대한 해결책은 공용 저장소에서 찾을 수없는 의존성에 대해 use the system scope입니다. 물론, entreprise 저장소에 의존성을 배치 할 수 있다면 더 좋을 것입니다.

+0

링크 된 질문은 _system_ 범위를 사용하지 말라고 권고하지 않습니다. [maven 문서] (http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies)는 "범위 시스템의 종속성은 항상 사용할 수 있으며 저장소에서 조회하지 않습니다 그들은 일반적으로 Maven에게 JDK 또는 VM에 의해 제공되는 의존성을 알려주는데 사용됩니다. " 따라서 사용자 정의 jar의 경우 _system_은 적절한 범위가 아닙니다. – Behe

+0

동의합니다. 그러나 * system * 범위는 특히 레거시 시스템에서 유용 할 수 있습니다. – LaurentG

관련 문제