[java] Gradle 인수에 대한 compile () 메서드를 찾을 수 없습니다.

이 솔루션을 너무 오랫동안 둘러 보았고 내가 그것을 놓쳤거나 그냥 잘못 입력했는지 확실하지 않지만 Gradle 스크립트가 컴파일되지 않습니다. 저는 Gradle로 마이그레이션하고 있으며 매우 새롭습니다. 나는 의존성 관리를 위해 Maven을 사용하는 데 매우 익숙하지만 Gradle은 현재 가장 잘 보입니다. 이 코드 스 니펫 실행에서 :

dependencies {
  compile group: 'org.bukkit', name: 'bukkit', version: '1.7.9-R0.1-SNAPSHOT'
  compile('io.ibj:MattLib:1.1-SNAPSHOT') {
    exclude group: 'de.bananaco'
    exclude 'net.milkbowl:vault:1.2.27'
  }
  compile group: 'net.citizensnpcs', name: 'citizens', version: '2.0.12'
  compile group: 'com.sk89q', name: 'worldedit', version: '5.6.1'
  compile group: 'com.sk89q', name: 'worldguard', version: '5.9'
  compile group: 'net.milkbowl', name: 'vault', version: '1.2.12'
  compile fileTree(dir: 'libs', includes: ['*.jar'])
}

참고 : Java, maven, nexus, shadow 및 rebel 플러그인이 적용되어 있습니다.

Gradle 작업을 실행할 때 다음 오류가 발생합니다.

Could not find method compile() for arguments [[io.ibj:MattLib:1.1-SNAPSHOT], build_1b5iofu9r9krp7o8mme0dqo9l$_run_closure2_closure8@66fb45e5] on root project 'project'

내 프로젝트에서 “MattLib”종속성을 제거하고 다음과 같이 다시 삽입하면

compile 'io.ibj:MattLib:1.1-SNAPSHOT'

스크립트가 완료되었지만 종속성 문제가 있습니다. 여기에서 읽었습니다.

dependencies {
  compile("org.gradle.test.excludes:api:1.0") {
    exclude module: 'shared'
  }
}

(Gradle 매뉴얼의 50 장에서 http://www.gradle.org/docs/current/userguide/dependency_management.html )

내가 가진 것이 작동해야하지만 왜 작동하지 않는지 혼란 스럽습니다.

gradle –version 출력 :

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy:          2.2.0
JVM:          1.8.0_05 (Oracle Corporation 25.5-b02)
OS:           Windows 7 6.1 amd64

이견있는 사람?



답변

그것은해야한다 exclude module: 'net.milkbowl:vault:1.2.27'(추가 기능 module:에 대한 설명서에 설명 된대로) DependencyHandler에 링크 http://www.gradle.org/docs/current/javadoc/org/gradle/api/Project.html#dependencies(groovy.lang.Closure) 때문에 ModuleDependency.exclude(java.util.Map)방법은 익숙한.


답변

올바른 build.gradle파일을 편집하고 있는지 확인하십시오 . android/build.gradle대신 편집 할 때이 오류가 발생했습니다 android/app/build.gradle.


답변

compileA는 configuration일반적으로 플러그인 (대부분 자바 플러그인)에 의해 도입되는 그 구성에 대한 자세한 내용은 Gradle을 사용 설명서에서보세요. 지금은 빌드 스크립트 위에 자바 플러그인을 추가하면 트릭이됩니다.

apply plugin:'java'


답변

제 경우에는 모든 compile진술이 어떻게 든 한 줄로 정렬되어 있습니다. 개별 줄로 구분하면 문제가 해결되었습니다.


답변

아래 단계가 도움이 될 것입니다.

프로젝트 수준 build.gradle에 종속성을 추가합니다 .

classpath 'com.google.gms:google-services:3.0.0'

앱 수준 build.gradle에 플러그인을 추가합니다 .

apply plugin: 'com.google.gms.google-services'

앱 수준 build.gradle :

dependencies {
        compile 'com.google.android.gms:play-services-auth:9.8.0'
}


답변

잘못된 gradle 파일입니다. 오른쪽은 ‘app’폴더의 build.gradle입니다.


답변

제 경우에는 작업을 수행하기 위해 연구의 어느 시점에서 gradle에 의해 생성 된 일부 파일을 제거해야했습니다. 그래서, 엉망진창 후 정리하고 잘 돌아갔습니다 …

git 프로젝트에서이 문제가 발생한 경우 git status수정되지 않은 파일을 수행 하고 제거하십시오. (나에게 elasticsearch문제가있었습니다 plugins/analysis-icu).

Gradle Version : 5.1.1