2016-06-16 4 views
3

나는 다른 Gradle을 프로젝트에 종속성을 외부 Gradle을 프로젝트 (해방-2)를 추가하려고 시도하고 그것이 모듈에 (해방-1)를 사용하는 경우 찾을 수없는 이름이 '기본'으로 구성 (프로젝트 -1). 해방-1 동기화를 시도 할 때 나는 오류를 찾을 수없는 이름이 '기본'과Gradle을 :

구성을받을 수 있습니다. 아래 그림 파일 트리에서와 같이 내가 알고 있지만

이 오류는 일반적으로 build.gradle 파일 누락으로 인해 발생 두 파일 관련 Gradle을 파일이 있습니다.

- Containing File 
    | Lib-1 
    |build.gradle 
    |settings.gradle 
    |Module-1 
     |src 
     |build.gradle 
    | Lib-2 
    |build.gradle 
    |settings.gradle 
    |Module-2 
     |src 
     |build.gradle 

settings.gradle 파일 build.gradle 파일에 대한 모듈-1

dependencies { 
    compile project(':Lib-2') 
} 

실행에 해방-1

include 'Module-2' 
include ':Lib-2' 
project(':Lib-2').projectDir = new File(rootDir,'../Lib-2') 

종속성에 대한 "빌드 - 정보"giv 다음 덤프.

설정 파일을 사용하여 평가 설정 '/ 사용자/$ 사용자/포함하는 파일/lib 디렉토리-1/settings.gradle'를 구축 시작. 프로젝트가로드되었습니다. 빌드 프로젝트 '/ Users/$ user/Containing File/Lib-1/build.gradle'을 사용하여 루트 프로젝트. 포함 된 프로젝트 : '/ Users/$ user/Containing File'빌드 파일을 사용하여 루트 프로젝트 'Lib-1'평가 [[루트 프로젝트 'Lib-1', 프로젝트 ': Lib-2', 프로젝트 ': 모듈 -1] /Lib-1/build.gradle '. 빌드 파일 '/ Users/$ user/Containing File/Lib-2/build.gradle'을 사용하여 프로젝트 ': Lib-2'평가 중. 빌드 파일 '/ Users/$ user/Containing File/Lib-1/Module-1/build.gradle'을 사용하여 'Module-1'프로젝트를 평가 중입니다. 릴리스 빌드 모든 프로젝트를 평가했습니다. 프로젝트의 기본 태스크 '빌드'를 선택했습니다.

FAILURE : 예외가 발생하여 빌드가 실패했습니다. 잘못된 무엇

  • : 는 작업의 종속성을 확인할 수 없습니다 '모듈-1 : javadoc는'. 이름이 'default'인 구성을 찾을 수 없습니다.
+0

Lib-1의 settings.gradle에서 'module-2'로 projectDir을 설정하지 않는 이유는 무엇입니까? – RaGe

답변

0

종속성을 추가 할 때이 오류는 일반적으로 추가 한 새 프로젝트가 없다는 것을 의미합니다. 이 경우에는 주 lib 설정 파일에 추가하는 동안 모듈에 해당 설정이 들어 있지 않기 때문에 발생합니다.

여기서 두 가지 방법을 사용할 수 있습니다. 1. 각 lib에 대해 build.gradle 파일을 만들고 각 모듈을 정의하십시오. 그런 다음 동일한 빌드 파일을 통해 각 모듈을 (원하는 경우 별도로) 컴파일하십시오. 2. 다중 프로젝트 설정으로 이동 - 모듈 폴더에서 컴파일 할 수 있지만 다른 설정 파일이 필요합니다.

모듈이기 때문에 다중 프로젝트가 아니기 때문에 옵션 1은 올바른 방법으로 보입니다. 각 모듈에 대한 구성을 추가하고 적절한 종속성을 설정하는 등. 다음과 같은 것 :

configurations { 
module1 
module2 
} 

sourceSets{ 
module1 { 
    java { 
     srcDir 'src/module1' 
    } 
} 

module2 { 
    java { 
     srcDir 'src/module2' 
    } 
} 
} 

dependencies { 
module1 'some.dependency' 
module2 'some.other.dependenty' 
}