예를 들어 언급 한 링크를 제공해주십시오.
dist()
메서드가 정의되어 있지 않은 것 같습니다. 제공 한 코드 샘플은 단지 작업 정의이므로이 경우에는 dist
은 Zip
유형의 정의 된 작업의 이름 일뿐입니다. from
및 into
방법은 AbstractCopyTask에서 가져온 것입니다.
편집
dist()
위에서 언급 한 바와 같이 인스턴스 예제 코드의 다음 작품을 위해 동안 그래서, 그냥 평범한 작업 정의는 다음과 같습니다
artifacts {
archives dist
}
전용 방법이 AbstractProject에 정의되어있다 클래스 : 이제
public void artifacts(Closure configureClosure) {
ConfigureUtil.configure(configureClosure, getArtifacts());
}
, 왜이 오류 :
Could not find method dist() for arguments [{type=class org.gradle.api.tasks.bundling.Zip}, txt, [email protected]] on proj ect ':MP'.
이 입력 발생
task dist(type: Zip, 'txt')
? 스크립트 (역동적이고 매우 복잡한 과정 인) 위의 선언을 구문 분석하는 동안
는 DIST가 전달되어야 유형 String
및 type: Zip, 'txt'
의 작업 이름은 TaskContainer 인스턴스에 create
방법 중 하나의 호출로 전환해야 인수로. 당신은 TaskContainer의 문서에서 볼 수 있듯이 String
취하는 create
방법이 없다 - 후 (DIST 작업 이름), Map
(유형 : 우편 번호 - 작업 설정), 다시 문자열 ( TXT - 중복/무효 논의). 그것이 실패하는 이유입니다.
task someTask {
throw new RuntimeException()
}
및 스택 트레이스를 조사 : 당신은 어떻게 작동하는지 관심이 있다면
, 그것은 build.gradle에 다음 코드 조각을 넣어하는 것이 좋습니다. 단계별로 어떻게 작동하는지 알려줄 것입니다.
물론 참조를 추가했습니다. 'task dist (type : Zip,'txt ')'에 'task dist (type : Zip)'을 대치 할 때 왜 에러가 나옵니까 _ _ 인수에 대한 메소드 dist()를 찾을 수 없습니다 [{type = class org.gradle.api.tasks.bundling.Zip}, txt, build_275gv6pdo8dsig251h253koq9t $ _run_closure2 @ a81512] on proj ect ': MP'._ 'dist()'라는 메서드가 있어야합니다. 그 순간을 분명히 할 수 있습니까? –
답변이 업데이트되었습니다. – Opal