내가 groovyConsole에를 사용하여이 단순히 그루비 스크립트를 실행 해요 (버전 1.8.1) :Groovy의 Ivy 캐시 (@Grab)가 캐싱되지 않습니까?
println "Start " + new Date()
@Grab('log4j:log4j:1.2.16')
import org.apache.log4j.Logger
println "End " + new Date()
일반적으로, 그것은 매우 빠르게 실행 (0 ~ 초)입니다.
그러나 때때로 (~ 5 회 실행마다) 실행을 완료하기 전에 3-5 초 동안 일시 중지됩니다. 내가
와이어 샤크 (here is the capture)과 스니핑 및 repository.codehaus.org
에 HTTP 요청을 참조 (나는 Wireshark를 스트림의 일부 (404) 응답을 볼 수 있지만, 스크립트가 실행 관리, 그래서 분명히 항아리가 어떤 점에서 찾을 수 있습니다)하고있어 내 질문은 - 일단 스크립트가 실행되면 @ Grab을 통해 다운로드 한 항아리는 영원히 캐시되지 않습니까? 실제 Ivy/Maven 저장소가 자주 쿼리되는 이유는 무엇입니까?
스크립트에서 모두'@ Grab'입니까? Ivy ('@Grab'의 기초가되는)는 무관 한 패키지를 찾고있는 것처럼 보입니다. 나는 아이비 전문가는 아니지만 : -/ –
@tim_yates - 예, 그것이 전체 스크립트입니다. – ripper234