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 --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
주의:compile,runtime,testCompile,그리고.testRuntimeJava 플러그인에 의해 도입된 구성은 Gradle 4.10(2018년 8월 27일) 이후 폐지되어 Gradle 7.0(2021년 4월 9일)에 최종적으로 삭제되었습니다.
상기의 설정은, 다음과 같이 치환할 필요가 있습니다.implementation,runtimeOnly,testImplementation,그리고.testRuntimeOnly,각각 다음과 같다.
올바른 편집 중인지 확인합니다.build.gradle파일. 편집 시 이 오류가 발생했습니다.android/build.gradle보다는android/app/build.gradle.
compile는 입니다.configuration보통 플러그인(java 플러그인)에 의해 도입됩니다.구성에 대한 자세한 내용은 gradle userguide를 참조하십시오.일단 빌드 스크립트 위에 Java 플러그인을 추가하면 다음과 같은 트릭을 실행할 수 있습니다.
apply plugin:'java'
그럴 것 같네요.exclude module: 'net.milkbowl:vault:1.2.27'(추가하다module:의 매뉴얼에 기재되어 있는 바와 같이DependencyHandler 여기서부터 연결되다ModuleDependency.exclude(java.util.Map)메서드가 사용됩니다.
저 같은 경우에는...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 버전이 일치하지 않는 것이 문제였습니다.mac에 gradle을 설치했습니다.
brew install gradle
그리고 7.0이라는 최신 그라들을 받았다.
그러나 프로젝트 리포로 복제하여 gradle taks를 실행했을 때 아래 오류로 인해 실패하였습니다.
* What went wrong:
A problem occurred evaluating root project 'digital-engineering-course'.
> Could not find method compile() for arguments [org.springframework.boot:spring-boot-starter-web, build_bzpgd6h32w4m8umtmgs76ewog$_run_closure3$_closure8@b55ca3] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
build.gradle파일은 규칙적인 의존관계가 있기 때문에 나에게는 매우 평범해 보였다.
dependencies {
compile("org.springframework.boot:spring-boot-starter-web") {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
compile("org.springframework.boot:spring-boot-starter-data-mongodb")
버젼의 미스매치가 문제라는 것을 이해하는 데 시간이 걸렸습니다.Gradle은 메서드를 찾을 수 없습니다.compile()배시 때 gradle 7.0을 썼거든요
이 8로 로 되어 , 또 다른 로운 문제로 그래들랩 4.8이 고장났습니다).Could not find or load main class org.gradle.wrapper.GradleWrapperMain(관심있는 분은 아래를 봐주세요)
컴파일 실패의 이유는 Java 플러그인에 의해 도입된 컴파일, 런타임, testCompile 및 testRuntime 설정이 Gradle 4.10 이후 폐지되어 Gradle 7.0에서 삭제되었기 때문입니다.
그래서 나는 문제를 해결하기 위해 gradle의 낮은 버전을 설치해야 했다.gradle의 여러 버전을 관리하려면 sdkman(이전에는 gvm)을 사용합니다.
MacOs/Linux에서의 설치는 다음과 같이 간단합니다.
curl -s "https://get.sdkman.io" | bash
사용 후
sdk list gradle
사용 가능한 모든 버전의 그래들이 나열됩니다.필요에 따라서 인스톨 해 주세요.예를 들어
sdk install gradle 4.84.됩니다). (4.8이 선택됩니다.)sdk use gradle 4.8 설치되어 ,
이제 그 ★★★★★★★★★★★★★★★★★★★★.build.gradle을 사용하다
제 경우, 작업을 수행하기 위해 gradle에 의해 생성된 파일을 삭제해야 했습니다.그래서 정리정돈하고 잘 돌아갔는데...
이 git을 합니다.git status되지 않은 파일을elasticsearch가 plugins/analysis-icu를 참조해 주세요.
Gradle Version: 5.1.1
참고로:[ Preferences ]-> [ Build ], [Execution ], [Deployment]-> [ Gradle ]-> [ Offline Work ]의 오프 라인으로 오프라인 작업을 유효하게 했습니다만, 에러 메세지가 잘못 표시됩니다.
만 요.compileimplementation:
예:
dependencies {
compile group: 'org.bukkit', name: 'bukkit', version: '1.7.9-R0.1-SNAPSHOT'
}
다음과 같습니다.
dependencies {
implementation group: 'org.bukkit', name: 'bukkit', version: '1.7.9-R0.1-SNAPSHOT'
}
언급URL : https://stackoverflow.com/questions/23796404/could-not-find-method-compile-for-arguments-gradle
'source' 카테고리의 다른 글
| Vue 플러그인을 NPM에 게시하는 방법 (0) | 2022.09.01 |
|---|---|
| 이 =! 교환원은 무엇입니까? (0) | 2022.08.31 |
| GCC에서 생성된 asm은 어떻게 컴파일합니까? (0) | 2022.08.31 |
| vue cli - 수집되지 않은 구문 오류:예기치 않은 토큰 < (0) | 2022.08.31 |
| 목록/어레이 목록 정렬 방법 (0) | 2022.08.31 |