이 질문은 특정 문제를 해결함으로써 부분적으로 대답 할 수 있지만 일반적인 문제를 해결할 수도 있습니다.Gradle buildscript 종속성을 찾지 못했습니다.
특정 문제
나는 Gradle 코드에 명령 줄 옵션을 전달해야합니다. Gradle은 그것을 할 수있는 합리적인 방법이 없으므로 어쨌든 System
속성에서 추출하고 나중에 구문 분석해야합니다. 나는 이것을 위해 org.apache.common.cli
패키지를 사용하려고 노력했다. 하지만 빌드 코드로 가져올 수는 없습니다.
이는 것처럼 보이는 것을 대략입니다 : 내가 잘못이나 방법이 문제를 디버깅하는 방법 무슨 일이 있었는지 전혀 모르는
* What went wrong:
Could not compile build file 'somewhere/build.gradle'.
> startup failed:
build file 'somewhere/build.gradle': 35: unable to resolve class org.apache.commons.cli.DefaultParser
@ line 35, column 1.
import org.apache.commons.cli.DefaultParser
:
buildscript {
repositories { ... }
dependencies {
classpath group: "commons-cli", name: "commons-cli", version: "1.2"
}
}
...
org.apache.commons.cli.DefaultParser
그리고이납니다. 나는 또한 Groovy의 groovy.util.CliBuilder
을 시도했지만, 더 많은 비밀스러운 오류가 발생합니다.
즉각적인 문제를 해결하려면 : 저는 Gradle 빌드에 전달 된 명령 줄 인수를 구문 분석하는 간단한 방법을 찾은 것을 기쁘게 생각합니다.
일반 문제
Gradle을 코드를 디버깅 할 수있는 방법이 있나요? 디버깅을 통해 명령 행 옵션에 --debug
인수를 추가하는 것을 의미하지는 않습니다. 그것은 단지 무의미한 무의미한 내용을 인쇄하지만, 무엇을하려고했는지 그리고 무엇이 잘못되었는지 알려주지 않습니다. 나는 실제 디버거와 같은 것을 의미한다.
로드하려고 시도한 종속성을 알 수있는 방법이 있습니까?로드 할 때 종속성을 알 수 있습니까? 그렇다면로드 할 때 어디에서로드 했습니까?
"Gradle language"를 linter/editor s.t.로 분석 할 수있는 방법으로 번역 할 수있는 방법이 있습니까? 하나는 그것의 어떤 부분을 알고/어떤 종류의 다른 부분을 추가하는 것이 합리적이라면 (unmet 의존성과 같은 문제를 쉽게 이해할 수 있도록하는 일종의 인텔리 센스입니다)?
명령 줄 매개 변수를 전달하는 합리적인 방법이 없다는 것은 무엇을 의미합니까? '-P' 옵션을 사용해 보셨습니까? 참조 : https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_properties_and_system_properties – RaGe
@RaGe (a) 이것은 명령 행 구문 분석을 수행하는 라이브러리와 비교하면 절름발이입니다 (추가 할 수 있기를 원함). 명령 줄 옵션에 대한 설명, 옵션 그룹 지정, 인수가 형식에 맞지 않으면 오류 자동 생성) (b) 기본 수준에서는 사용할 수 없습니다 (이 오류는 정의하지 않으면 오류입니다. 해당 프로젝트 속성, 정의 범위에서 클래스에 액세스 할 수 없음). – wvxvw
'gradle tasks'를 실행할 때 도움이되는 타입을 의미합니까? 이 문제가 [XY 문제] (http://xyproblem.info/)의 경우가 아니라는 것을 배제하기 위해 명령 줄 인수를 구문 분석하여 수행하려는 작업을 설명 할 수 있습니까? – RaGe