2011-02-11 6 views
3

Maven을 처음 사용하고 여러 Maven 관리 프로젝트에 포함시키고 자하는 바이너리 라이브러리 (.jars) 세트가있는 상황을 처리하는 방법을 배우려하고 있습니다. .Maven/Eclipse의 바이너리 라이브러리 종속성

라이브러리에는 pom.xml 파일이 없으며 Maven 저장소에서 사용할 수 없습니다.

다른 프로젝트에이 라이브러리를 포함하려면 Maven/m2eclipse를 어떻게 설정해야합니까? 나는 이것들을 다루기 위해 Maven "wrapper 프로젝트"의 kine을 설정해야한다고 가정하고있다.

답변

1

먼저 @ 윌의 게시물로 표시하여 메이븐의 repo에 항아리를 설치해야합니다. 이 항아리는 Maven 저장소에만 있습니다. 다른 말로하면,이 프로젝트 코드를 동료 개발자들과 공유한다면, 그들은 그들 자신의 로컬 리포지토리에서 똑같은 것을해야한다. 그렇지 않으면 그들은 단지를 찾을 수 없을 것이다.

이와 같은 팀 개발에 대한보다 훌륭한 해결책은 일부 로컬 서버에서 Nexus을 호스팅하는 것입니다. Nexus가하는 일은 모든 외부 저장소를 한 곳으로 그룹화하는 것입니다 (프록시라고 생각하면됩니다). 따라서 Nexus에 '호스트 저장소'아래에 해당 병을 설치해야합니다 (Nexus에는 3 가지 유형의 저장소가 있습니다). 그런 다음 모든 팀원의 개발을 인터넷 대신 Nexus에서 가져 오도록 구성하십시오. 이렇게하면 팀 구성원이 프로젝트를 로컬 작업 공간으로 체크 아웃 할 때 모든 것이 원활하게 처리되고 자동으로 항아리가 제공됩니다. 이런 방식으로 pom.xml에 외부 저장소를 구성 할 필요가 없습니다. :)

2

팀 프로그래밍을 사용하는 경우 @limc 게시물을 사용하십시오.

그것은 단지 당신을 위해 경우를 다루는 몇 가지 방법이 있습니다 :

로컬 저장소에 항아리를 추가하는 플러그인 받는다는있다.

mvn install:install-file -DgroupId=<your_group_name> \ 
-DartifactId=<your_artifact_name> \ 
-Dversion=<snapshot> \ 
-Dfile=<path_to_your_jar_file> \ 
-Dpackaging=jar \ 
-DgeneratePom=true 

또는 당신과 같이 시스템 종속성으로 jar 파일을 참조 할 수 있습니다 :

<dependency> 
     <groupId>com.package</groupId> 
     <artifactId>id</artifactId> 
     <version>5.2</version> 
     <scope>system</scope> 
     <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/my.jar</systemPath> 
    </dependency> 
관련 문제