2014-09-22 6 views
6

내 해외 팀이 내 클라이언트에서 Artifact (종속성)를 다운로드 할 수 없습니다. 조직의 종속성 저장소 인 Artifactory. "종속성 새로 고침"은 아무것도 트리거하지 않고 예외 시간을줍니다. . 내 "Gradle Dependencies"가 "D : /C813507/Gradle/gradle-1.11/bin/caches/modules-2/files-2.1/"위치로 다운로드되는 것을 봅니다. 이 폴더를 지우고 보낼 수 있습니까? 그것들은 로컬 디렉토리를 가리키는 어떤 것을 gradle로 구현합니까? 내 빌드 gradle 다음 줄이 있습니다. 당신이 당신의 근해 팀에 액세스 권한을 부여 할 수없는 경우 윈도우 OSGradle 저장소를 로컬 디렉토리에 가리키는 방법

repositories { 
     maven { 
      url 'http://artifactory.myorg.com:8081/artifactory/plugins-release' 
     } 

} 
+0

왜 해외 팀에 조직 유물을 제공하지 않습니까? – dieend

답변

15

에서 로컬 디렉토리의 URL을 가리 키도록하는 방법, 당신은 하나의 디렉토리에 필요한 모든 종속 항아리를 복사 한 다음 flatDir 저장소를 사용할 수 있습니다.

repositories { 
    flatDir { 
     dirs 'D:/path/to/local/directory' 
    } 
} 


dependencies { 
    compile name: 'name-of-jar' 
} 

flatDir 저장소를 사용하지 않고 또 다른 방법은 다음과 같습니다

dependencies { 
    compile files('/path/to/dir/something_local.jar') 
} 
+2

flatDir 리포지토리에는 전이 종속성 해결 방법이 없습니다. 원래의 문제를 조사하고 수정하는 것이 더 낫습니다. –

+0

로컬 저장소 (즉, 로컬 디렉토리 사용)에 대한 gradle.build 빌드 의존성에 관한 질문이 있습니다 종속성 { \t fileTree (포함 : [ '* .jar'], dir : 'libs') } libs 디렉토리의 종속성 만 해결하거나 lib 디렉토리의 모든 하위 폴더에 대한 종속성을 해결합니다. 하위 폴더/하위 디렉터리의 종속성을 해결하지 못하면 종속성을 해결하는 방법은 무엇입니까? 참고 : 우리 프로젝트는 (각 jars/lib에 대한 전체 파일 이름을 제공하는 대신) 많은 jar 파일에 의존하므로 다른 방법을 알고 싶어합니다. – mallikgm

+0

@mallikgm 나는 새로운 질문을 통해 더 명확한 맥락을 제시해야한다고 생각한다. 나는 fileTree가 sub dir과 작동해야한다고 생각하고 있습니다. 그러나 나는 그것을 시도하지 않았다 – dieend

3

대신 flatDir 저장소를 구성, 당신은 다음과 같은 로컬 maven 저장소를 선언 할 수

repositories { 
    maven { 
     url 'file://D:/path/to/local/directory' 
    } 
} 

@ 피터 Niederwieser으로 언급 됨, flatDir 저장소가 지원되지 않음 포트 전이 의존성 해결. 로컬 저장소는 maven입니다.

+1

이것은 다른 곳에서 작동하지 않을 것이다. 환경 (특히 CI 서버)에서 "빌드 프로세스는 모든 곳에서 동일해야합니다"라는 원칙을 깨기도합니다. – user3118604

+1

True. 그러나 OP는 그가 ** 로컬 디렉토리 ** 솔루션을 찾고 있음을 명시 적으로 언급 했으므로 귀하의 의견은이 맥락에서 부적절합니다. –

관련 문제