다른 빌드 프로필에 대한 다른 종속성 대해 maven pom.xml

다른 프로필에 대해 maven pom.xml 파일에 다른 종속성 집합을 가질 수 있습니까?

예 :

mvn -P debug
mvn -P release

동일한 클래스 이름과 동일한 인터페이스의 다른 구현을 가진 하나의 프로필에서 다른 종속성 jar 파일을 선택하고 싶습니다.



답변

이에 대한 Maven 문서 를 인용하려면 :

프로필 요소에는 선택적 활성화 (프로필 트리거)와 해당 프로필이 활성화 된 경우 POM에 적용 할 변경 집합이 모두 포함됩니다. 예를 들어 테스트 환경 용으로 빌드 된 프로젝트는 최종 배포와 다른 데이터베이스를 가리킬 수 있습니다. 또는 사용 된 JDK 버전에 따라 다른 저장소에서 종속성을 가져올 수 있습니다. .

(강조는 내 꺼야)

release프로필 에 대한 종속성을 프로필 선언 자체에 넣고 debug.

<프로필>
    <프로필>
        <id> 디버그 </ id>
        …
        <종속성>
            <dependency>… </ dependency>
        </ 종속성>
        …
    </ 프로필>
    <프로필>
        <id> 출시 </ id>
        …
        <종속성>
            <dependency>… </ dependency>
        </ 종속성>
        …
    </ 프로필>
</ 프로필>

답변

groupId, artifactId는 속성으로 프로필에서 토큰 화되어야하며 종속성을 일반 섹션으로 이동할 수 있습니다.