groovyConsole (バージョン 1.8.1) を使用して、この単純な groovy スクリプトを実行しています。
println "Start " + new Date()
@Grab( 'log4j:log4j:1.2.16' )
import org.apache.log4j.Logger
println "End " + new Date()
通常、実行は非常に高速です (~ 0 秒)。
ただし、場合によっては (~5 回の実行ごとに 1 回)、実行を完了する前に 3 ~ 5 秒間一時停止します。私は Wireshark でスニッフィングしており (ここにキャプチャがあります)、HTTP リクエストを確認していますrepository.codehaus.org
(Wireshark ストリームに 404 応答がいくつか表示されますが、スクリプトはなんとか実行されているため、ある時点で明らかに jar が検出されます)。
私の質問は、スクリプトが 1 回実行されると、@Grab 経由でダウンロードした jar ファイルは永久にキャッシュされないのでしょうか? 実際の Ivy/Maven リポジトリが頻繁にクエリされるのはなぜですか?