2013-06-16 2 views
0

나는 기존 자바 프로젝트를 가지고있다. 그것은 maven 프로젝트입니다. 다른 프로젝트에서 재사용하기 위해 로컬 Maven 저장소에 추가하고 싶습니다. 설치 파일로컬 Maven 저장소에 파일 그룹 추가하기

SO Question/Answer이 그룹을 추가하기위한 지침을 제공 :

MyUtilityClass.jar 
MyUtilityClassSources.jar 
MyUtilityClassDocs.jar 

종속

slf4j-1.7.2.jar 
junit-4.11.jar 

에이 SO Question/Answer 설치 MVN 사용하여 로컬 메이븐 저장소에 하나의 파일을 추가하기위한 지침을 제공합니다 jars - 소스, javadoc 등. mvn deploy-file을 사용합니다.

SO Question/Answer은 pom.xml 파일을 통해 종속성을 지정하는 것을 언급하지만 자세한 내용은 제공하지 않습니다. 내가 그들을 끌어 때

  1. 소스, 문서, 자동으로 추가 종속성, 내 로컬 저장소에 MyUtilityClass의 프로젝트를 추가 :

    는 내가 성취하고 싶은 것을 내 앞에 두 가지 작업이 in.

  2. 내 로컬 저장소에 최신 가장 큰 번들을 추가하는 MyUtilityClass 프로젝트에 대한 maven 작업을 만들고 싶습니다.

이클립스를 IDE 및 maven 버전 3.0.4로 사용하고 있습니다. 이 프로젝트의 POM은 다음과 같습니다.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.local.mine</groupId> 
    <artifactId>MyUtilityClass</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>MyUtilityClass</name> 
    <url>http://maven.apache.org</url> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
    </dependency> 
    <dependency> 
     <groupId>com.local.mine</groupId> 
     <artifactId>slf4j</artifactId><!--from local repo --> 
     <version>1.7.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.local.mine</groupId> 
     <!--from local repo and shouldn't be automatically added --> 
     <!-- to projects that reuse the resulting bundle --> 
     <artifactId>log4j</artifactId> 
    <version>1.2.17</version> 
    </dependency> 
    </dependencies> 
</project> 

답변

1

가장 쉬운 방법은 각 프로젝트를 자체 릴리스 주기로 생각하는 것입니다. 그들은 서로 독립적이어야합니다.

당신이 발견, 당신은

  • 사용하여 로컬 저장소에
  • 사용 배포에를 차 아티팩트를 설치하려면 로컬 저장소에
  • 사용 설치 파일을 이슈를 설치 설치할 수 있도록 install (-file)과 동일하지만 원격 리포지토리에

이것은 또한 릴리스 플러그인입니다. 당신이 출시 한 쌍의 목표를 수행 할 때 : 준비 및 발표 : 수행, 당신이 이슈가 & 배치 설치된

  • 버전 제어 태그
  • 만든 치어 파일

    • 버전 값을 업데이트 끝낼
    • 배치 된 소스 및/또는 javadoc 아티팩트

    사용하려는 것은 release plugin입니다.

  • +0

    감사합니다. 나는 지금 일하고있다. 그것은 쉬운 일이 아니 었습니다! –

    0

    간단한 솔루션은 재사용하고자하는 프로젝트에

    mvn install 
    

    을 사용하는 것입니다. 그러면 프로젝트의 산출물이 위치 저장소에 설치됩니다.

    관련 문제