동일한 라이브러리로 두 번이지만 다른 버전으로 Maven을 구성하는 방법

user3227323

컴파일 및 테스트 목적으로 한 버전을 구성하고 런타임에 대해 동일한 라이브러리의 다른 버전을 구성하는 동일한 종속성을 두 번 추가해야합니다.

이상하게 들리고 틀렸지 만 회사의 다른 팀에서 동일한 라이브러리의 2 가지 버전을 받았으며 "테스트 목적"버전에는 "테스트"메서드에서만 사용되는 클래스가 포함되어 있습니다. '코어'의 일부이기 때문에 프로덕션 서버입니다. 따라서 이것은 테스트 및 컴파일 단계에 버전 라이브러리를 사용하고 서버에서만 다른 버전 라이브러리를 사용해야 함을 의미합니다. 사실 '제공된'범위로 '테스트'버전 만 설정하는 문제를 해결 했으므로 생성 된 전쟁에 포함되지 않고 웹 컨테이너의 lib 폴더에 '프로덕션'버전을 넣지 만 상사가 자동화하기를 원합니다 구성 !!!

불행히도 '런타임'또는 '컴파일'범위를 사용하여 두 번째 버전에 종속성을 추가하면 JUnit 실행 단계에서 "테스트"버전에만있는 클래스를 찾지 못합니다. Maven이 동일한 라이브러리를 인식하고 '컴파일'또는 '런타임'구성이 다른 라이브러리에서 승리 한 것 같습니다. 나는 또한 '테스트'범위로 "테스트"버전을 설정하려고 시도했지만 작동하지 않습니다 ... 실제로 "테스트"에 대해 '테스트'및 '제공된'범위를 사용하여 가능한 모든 조합을 시도했습니다. "프로덕션 하나.

어떠한 제안? 테스트 목적으로 만 다른 라이브러리를 요청하거나 라이브러리의 이름을 변경할 수 없으며 모든 것이 지속적 통합 시스템과 통합되어 자동화되어야하므로 성가시다 ...

    <dependency>
        <groupId>company.group.id</groupId>
        <artifactId>project.id</artifactId>
        <version>0.1.1.TEST</version>
        <scope>provided</scope>
        //<scope>test</scope>
    </dependency>

    <dependency>
        <groupId>company.group.id</groupId>
        <artifactId>project.id</artifactId>
        <version>0.1.0.PROD</version>
        <scope>compile</scope>
        //<scope>runtime</scope>
    </dependency>

감사

이케르 아구아 요

Peter Lawrey는이 링크 에서 말합니다 .

"Maven은 한 번에 둘 이상의 모듈 버전을 갖는 것이 합리적이지 않다고 가정합니다. 새 버전이 이전 버전을 대체한다고 가정합니다. 그렇지 않은 경우 동일한 모듈이 아닙니다. 새로운 모듈을 다른 이름으로 지정하고 임의의 모듈을 선택하지 않도록 다른 패키지가 있는지 확인하십시오.

일반적으로 Maven은 좋은 애플리케이션 디자인을 장려하고 의도적으로 나쁜 생각이라고 판단한 작업을 어렵게 만듭니다. "

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Android Studio에서 두 개의 다른 모듈이 Gradle을 통해 동일한 라이브러리의 다른 버전을 사용하도록 만드는 방법

분류에서Dev

동일한 버튼으로 두 가지 다른 동작을 달성하는 방법

분류에서Dev

동일한 Android 프로젝트의 두 Android 모듈이 서로 다른 지원 라이브러리 버전을 사용하면 어떻게 되나요?

분류에서Dev

동일한 속성을 가진 두 개의 서로 다른 라이브러리-Swing

분류에서Dev

동일한 활동에서 두 개의 다른 버튼을 클릭하여 두 개의 다른 활동으로 이동하는 방법은 무엇입니까?

분류에서Dev

키-값 쌍으로 사용하여 (동일한 길이 및 동일한 키) 두 개의 다른 사전 값에서 새 사전을 만드는 방법

분류에서Dev

ASP.NET MVC에서 동일한 라이브러리의 두 버전을로드 할 수 없습니다.

분류에서Dev

ASP.NET MVC에서 동일한 라이브러리의 두 버전을로드 할 수 없습니다.

분류에서Dev

적절한 (시스템 버전과 다른) 버전의 라이브러리를 사용하도록 내 환경을 구성하는 방법

분류에서Dev

동일한 작업 방법으로 이동하는 다른 경로 구성

분류에서Dev

C #으로 dataTable의 다른 열과 동일한 이름 인 두 번째 열의 값을 가져 오는 방법

분류에서Dev

Pygame 이미지를 한 번 이동할 수 있지만 두 번 이동하는 방법을 모릅니다.

분류에서Dev

다른 구성 파일로 파이프 라인을 여러 번 실행하는 방법-.snakemake 디렉터리에 대한 잠금 문제

분류에서Dev

내용이 다른 두 개의 동일한 테이블로 구성된 테이블을 만드는 방법은 무엇입니까?

분류에서Dev

다른 Python 버전간에 동적 라이브러리 포함 C (.so 파일)의 하위 호환성을 유지하는 방법

분류에서Dev

두 개의 서로 다른 데이터 프레임 열을 동일한 크기로 균일화하는 방법

분류에서Dev

다른 입력으로 동일한 구성 요소를 여러 번 호출하고 동일한 페이지에 표시하는 방법

분류에서Dev

동일한 이전 그림을 기반으로 두 개의 다른 그림을 만드는 방법은 무엇입니까?

분류에서Dev

다른 앱이 작성하는 동안 파일을 안전하게 복사하는 방법, 두 프로그램이 모두 충돌하지 않는지 확인

분류에서Dev

PLEX : 한 HDD에서 다른 HDD로 * 즉시 *로 라이브러리를 이동하는 방법

분류에서Dev

테이블 행을 두 번 클릭하여 한 탭에서 다른 탭으로 이동하는 방법

분류에서Dev

동일한 코드베이스를 사용하지만 프로필이 다른 동일한 컨테이너에서 실행되는 두 개의 스프링 부트 애플리케이션을 원격 디버그하는 방법은 무엇입니까?

분류에서Dev

CMake : 시스템을 기반으로 두 가지 버전의 라이브러리 (32 비트 및 64 비트)를 연결하는 방법은 무엇입니까?

분류에서Dev

Entity Framework Core : 동일한 테이블을 참조하는 하나의 엔터티에서 두 개의 일대 다 관계로 모델을 구성하는 방법

분류에서Dev

동일한 코드를 사용하는 다른 이름으로 두 개의 라이브러리를 정의하려고합니다.

분류에서Dev

버튼을 여러 번 누른 후 활동이 한 번만 열리는 지 확인하는 방법

분류에서Dev

동일한 SQL의 서로 다른 두 테이블에서 두 값을 가져 오는 방법

분류에서Dev

동일한 필드를 두 번 더하지만 피벗 테이블에서 다른 합계 기준을 사용하는 방법은 무엇입니까?

분류에서Dev

다른 반환 유형으로 여러 번 필요할 때 동일한 메서드를 두 번 작성하는 것이 가장 좋은 방법입니까?

Related 관련 기사

  1. 1

    Android Studio에서 두 개의 다른 모듈이 Gradle을 통해 동일한 라이브러리의 다른 버전을 사용하도록 만드는 방법

  2. 2

    동일한 버튼으로 두 가지 다른 동작을 달성하는 방법

  3. 3

    동일한 Android 프로젝트의 두 Android 모듈이 서로 다른 지원 라이브러리 버전을 사용하면 어떻게 되나요?

  4. 4

    동일한 속성을 가진 두 개의 서로 다른 라이브러리-Swing

  5. 5

    동일한 활동에서 두 개의 다른 버튼을 클릭하여 두 개의 다른 활동으로 이동하는 방법은 무엇입니까?

  6. 6

    키-값 쌍으로 사용하여 (동일한 길이 및 동일한 키) 두 개의 다른 사전 값에서 새 사전을 만드는 방법

  7. 7

    ASP.NET MVC에서 동일한 라이브러리의 두 버전을로드 할 수 없습니다.

  8. 8

    ASP.NET MVC에서 동일한 라이브러리의 두 버전을로드 할 수 없습니다.

  9. 9

    적절한 (시스템 버전과 다른) 버전의 라이브러리를 사용하도록 내 환경을 구성하는 방법

  10. 10

    동일한 작업 방법으로 이동하는 다른 경로 구성

  11. 11

    C #으로 dataTable의 다른 열과 동일한 이름 인 두 번째 열의 값을 가져 오는 방법

  12. 12

    Pygame 이미지를 한 번 이동할 수 있지만 두 번 이동하는 방법을 모릅니다.

  13. 13

    다른 구성 파일로 파이프 라인을 여러 번 실행하는 방법-.snakemake 디렉터리에 대한 잠금 문제

  14. 14

    내용이 다른 두 개의 동일한 테이블로 구성된 테이블을 만드는 방법은 무엇입니까?

  15. 15

    다른 Python 버전간에 동적 라이브러리 포함 C (.so 파일)의 하위 호환성을 유지하는 방법

  16. 16

    두 개의 서로 다른 데이터 프레임 열을 동일한 크기로 균일화하는 방법

  17. 17

    다른 입력으로 동일한 구성 요소를 여러 번 호출하고 동일한 페이지에 표시하는 방법

  18. 18

    동일한 이전 그림을 기반으로 두 개의 다른 그림을 만드는 방법은 무엇입니까?

  19. 19

    다른 앱이 작성하는 동안 파일을 안전하게 복사하는 방법, 두 프로그램이 모두 충돌하지 않는지 확인

  20. 20

    PLEX : 한 HDD에서 다른 HDD로 * 즉시 *로 라이브러리를 이동하는 방법

  21. 21

    테이블 행을 두 번 클릭하여 한 탭에서 다른 탭으로 이동하는 방법

  22. 22

    동일한 코드베이스를 사용하지만 프로필이 다른 동일한 컨테이너에서 실행되는 두 개의 스프링 부트 애플리케이션을 원격 디버그하는 방법은 무엇입니까?

  23. 23

    CMake : 시스템을 기반으로 두 가지 버전의 라이브러리 (32 비트 및 64 비트)를 연결하는 방법은 무엇입니까?

  24. 24

    Entity Framework Core : 동일한 테이블을 참조하는 하나의 엔터티에서 두 개의 일대 다 관계로 모델을 구성하는 방법

  25. 25

    동일한 코드를 사용하는 다른 이름으로 두 개의 라이브러리를 정의하려고합니다.

  26. 26

    버튼을 여러 번 누른 후 활동이 한 번만 열리는 지 확인하는 방법

  27. 27

    동일한 SQL의 서로 다른 두 테이블에서 두 값을 가져 오는 방법

  28. 28

    동일한 필드를 두 번 더하지만 피벗 테이블에서 다른 합계 기준을 사용하는 방법은 무엇입니까?

  29. 29

    다른 반환 유형으로 여러 번 필요할 때 동일한 메서드를 두 번 작성하는 것이 가장 좋은 방법입니까?

뜨겁다태그

보관