2011-12-05 2 views
20

maven 원격 저장소에 maven 로컬 리포지토리를 추가로 사용하려고합니다. 그걸 위해 JIRA-http://issues.gradle.org/browse/GRADLE-1173을 찾았지 만, 로컬 maven 저장소에서만 사용할 수있는 일부 스냅 샷 종속성은 여전히 ​​발견되지 않습니다. 스냅 샷 종속성을 찾을 수 없다는 오류가 나타납니다.gradle 빌드 파일에 maven 로컬 및 원격 리포지토리를 구성하는 방법은 무엇입니까?

로컬 및 원격 메이븐 리포지토리를 하나만 가질 수 있습니까?

가 여기 내 Gradle을 빌드 파일의 관련 부분입니다 :

apply plugin: 'maven' 

repositories { 

    mavenLocal() 

    maven { 
     credentials { 
      username "myusername" 
      password "mypassword" 
     } 
     url "http://myremoterepository" 
    } 

} 
+1

을 나는 이유가 표시되지 않는 이유는 'shouldn 일하지 마라. 원격 Maven 저장소 및 관련 종속성을 일시적으로 제외하고 어떤 일이 발생하는지 확인할 수 있습니까? 'mavenLocal()'이 저장소의 위치를 ​​정확하게 추측하지 못할 수도 있습니다. 명시 적으로 mavenRepo urls : "file : ///home/user/.m2/repository"로'mavenLocal()'대신 명시 적으로 가리키고 무슨 일이 일어나는 지보십시오. – rodion

+0

'X.Y-SNAPSHOT'은 항상'X.Y'보다 _older_입니다. 그래서'-SNAPSHOT'을 추가하면 최종 릴리스를 준비하기 위해'Y'와 충돌합니다. 이미 공개 된'X.Y'에'-SNAPSHOT'을 추가하면'X.Y-SNAPSHOT'이 아닌'X.Y'를 찾습니다. –

답변

21

또한 필요 내 프로젝트와 비슷한 설정을하려면 Maven이 올바르게 설정되어 있어야 build.gradle 설정이 작동하는지 확인할 수 있습니다.

Gradle을mavenLocal()받는다는에서 localRepository 정의에 의존settings.xml 파일 :

<localRepository>USER_HOME\.m2\repository</localRepository> 

Settings.XML이 당신의 M2_HOME/conf 또는 USER_HOME/.m2 directory 중 하나에 있어야합니다. 당신은 확인해야합니다 :가 설치되어

  1. 받는다는 제대로
  2. M2_HOME 환경 변수
  3. settings.xml 정의 올바른 localRepository을 가지고있는 ..
+0

일부 사람들은 로컬 메이븐 저장소 위치를 재정의합니다 (예 : IDE).그래서 메이븐 레포에 대한 명시적인 위치를 넣고 싶습니다.'maven { url uri (local_repository_path) }''gradle.properties'에서'local_repository_path'를 가져옵니다. –

+0

Windows에서 구성해야하는 환경 변수를 아는 사람이 있습니까? ? 내 maven 설치가 경로에 있습니다. 환경 변수 M2_HOME에 settings.xml이있는 폴더를 가리키는 변수가 있습니다. maven 자체가 저장소를 잘 해석하지만, gradle은 그렇지 않습니다. publishToMavenLocal을 빌드 할 때 빌드되지만 저장소에 아무것도 표시되지 않습니다. – UncleBob

0

메이븐 만 사용할 수있는 단일 로컬 ("로컬"= 메이븐이 실행되는 컴퓨터의 하드 디스크에) 저장소를. 당신이 더 필요한 경우

, 당신이있어 옵션은 다음과 같습니다

  • 는 (회사 전체의 프록시 같은) 원격 서버를 실행하고이 모두를 배포합니다. 해당 서버를 미러로 넣어 settings.xml에 넣으십시오. 해당 지역의 repo에 유물 수동
  • 실행을 (당신이 소스가 할 분명히 경우에만) 지역의 repo에서 로컬 서버
  • 복사 아티팩트를 복사 할
  • 실행 mvn install
+0

하나의 로컬 만 있으면 충분합니다. 하나의 원격 저장소와 하나의 원격 저장소 저장소, 다중 로컬 저장소가 아닌 – Cengiz

+0

이 경우 질문을 편집하고이 정보를 추가하십시오. 스냅 샷 생성물에 어떤 오류가 있습니까? –

관련 문제