복붙노트

[SPRING] 메이븐 프로젝트에 대한 종속성으로 로컬 non-maven 프로젝트를 추가하는 방법은 무엇입니까?

SPRING

메이븐 프로젝트에 대한 종속성으로 로컬 non-maven 프로젝트를 추가하는 방법은 무엇입니까?

나는 새로운 Spring 웹 애플리케이션을 만들었고 build / dependencies를 처리하기 위해 Maven을 사용하고 싶다. 내 문제는 프로젝트가 기존의 일부 지역 프로젝트에 의존하고 있으며, 현재 프로젝트를 수행하는 것이 선택 사항이 아니라는 점입니다. 프로젝트를하지 않고도 이러한 프로젝트에 의존 할 수 있습니까?

해결법

  1. ==============================

    1.아니, 너는 그렇게해서는 안된다. Maven의 주요 목표는 표준화 된 빌드를 만드는 것입니다. 이것이 Maven을 사용하기가 매우 쉬운 이유입니다. 예외는 표준이 아닙니다. 그래서 Maven은 모든 종속성이 전형적인 Maven 형식 (POM + jar)으로되어 있어야합니다.

    아니, 너는 그렇게해서는 안된다. Maven의 주요 목표는 표준화 된 빌드를 만드는 것입니다. 이것이 Maven을 사용하기가 매우 쉬운 이유입니다. 예외는 표준이 아닙니다. 그래서 Maven은 모든 종속성이 전형적인 Maven 형식 (POM + jar)으로되어 있어야합니다.

    "mavenizing이 현재 옵션이 아닙니다"라고 말하면 기본적으로 "Maven은 현재 옵션이 아닙니다"라고 말합니다. 제 경험으로 볼 때, 기존 프로젝트를 Maven으로 변환하는 데는 몇 분이 걸립니다 ...이 프로젝트가 지저분하고 신뢰할 수없는 빌드 프로세스를 사용하지 않는 한, 정말 귀중한 시간을 낭비하지 않으려면 Maven으로 변환해야합니다. . :-)

    다른 모든 것이 실패하면 빌드 서버를 사용하여 종속 프로젝트에서 JAR 파일을 생성하고 회사 전체의 저장소 서버 또는 로컬 시스템에 배치하십시오.

  2. ==============================

    2.가장 쉬운 방법은 로컬 종속성을 로컬 저장소에 배포하여 maven이 정규 종속성으로 사용할 수 있도록하는 것입니다.

    가장 쉬운 방법은 로컬 종속성을 로컬 저장소에 배포하여 maven이 정규 종속성으로 사용할 수 있도록하는 것입니다.

    로컬 jar 파일을 로컬 저장소에 배포하려면 다음과 같은 명령 줄을 사용하십시오.

    mvn install:install-file -Dfile=<MY-FILE> -DgroupId=MY-GROUP-ID -DartifactId=MY-ARGIFACT -Dversion=MY-VERSION -Dpackaging=jar
    

    회사에서 Artifactory와 같은 저장소를 공유하고 있다면 병을 배포 할 수 있습니다. 그렇지 않으면 각 개발자는 자신의 로컬 저장소에 배포해야합니다. 좋은 소식은 한 번만해야합니다.

    편집하다.

    다음은 pom.xml에 프로젝트 대 프로젝트 종속성을 정의하는 방법입니다

        <dependency>
            <groupId>com.mycompany.util</groupId>
            <artifactId>util</artifactId>
            <version>${com.mycompany.version}</version>
        </dependency>
    

    그게 전부 야. Util은 아직 내 작업 공간에있는 또 다른 프로젝트입니다.

  3. from https://stackoverflow.com/questions/12163153/how-to-add-a-local-non-maven-project-as-a-dependency-for-a-maven-project by cc-by-sa and MIT license