2017-10-22 2 views
1

다음 디렉터리 구조로 뉴스 다운로드 gradle 프로젝트를 만들고 있습니다.jsoup에 대한 의존성을 해결할 수 없습니다

news-feed (root) 
|-bbc-plugin (sub-project) 

나는 다음과 같이 내 루트 build.gradle 파일에 종속성을 추가, 그래서 내 하위 프로젝트에 대한 jsoup 라이브러리를 사용하고 싶습니다.

import org.gradle.api.artifacts.* 

apply plugin: 'base' // To add "clean" task to the root project. 
apply plugin: 'application' 

mainClassName = 'newsFeed.MainMenu' 

subprojects { 
    apply from: rootProject.file('common.gradle') 

    apply plugin: 'java' 

    dependencies { 
     compile 'org.jsoup:jsoup:1.10.3' 
    } 
} 

dependencies { 
    compile project(':bbc-plugin') 
} 

내가 오류로 인해

* What went wrong: 
Could not resolve all files for configuration ':bbc-plugin:compileClasspath'. 
> Can't resolve external dependency org.jsoup:jsoup:1.10.3 because no repositories are defined. 
    Required by: 
     project :bbc-plugin 

의 프로젝트를 빌드 할 수없는 각의 build.gradle 파일에 지정하지 않고도 루트 빌드 파일의 종속성을 지정하는 방법이있는가요 하위 프로젝트?

답변

1

어떤 저장소에서 종속성을 다운로드 할 수 있는지 gradle에게 알려줘야합니다. 이를 달성하려면 빌드 스크립트에 repositories 섹션을 추가해야합니다.

메이븐 중앙을 사용하려면, 예를 들어, 당신은 당신의 루트로 build.gradle에 다음 줄을 추가해야합니다

repositories { 
    mavenCentral() 
} 

좀 더 자세한 설명은 Gradle을 사용 설명서에 herehere를 참조하십시오.

+0

나는 그렇게처럼 내 코드를 변경 시도하지만 난 여전히 같은 오류'하위 { 납니다에서 적용 rootProject.file를 ('common.gradle') 하는 플러그인 적용 : '자바' 종속 { 컴파일 'org.jsoup : jsoup : 1.10.3' } 저장소 { mavenCentral() } }' – heshan1010

+0

오, 내 잘못. 서브 프로젝트들뿐만 아니라 루트 프로젝트에도'repositories' 섹션을 적용해야합니다. 내 대답을 업데이트했습니다. –

관련 문제