2017-08-31 3 views
0

Iループは、私のjarファイル Groovyのロードjarファイル

import groovy.io.FileType 

def list = [] 

def dir = new File("C:\\Whatever\\") 
dir.eachFileRecurse (FileType.FILES) { 
    if(it.name.endsWith('.jar')) { 
     println it 
     this.getClass().classLoader.rootLoader.addURL(new File(it).toURI().toURL()) 
    } 
} 

をロードし、私は次のエラーを取得する:

私が間違っているのは何
groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.io.File(java.io.File) 

    at ConsoleScript21$_run_closure1.doCall(ConsoleScript21:9) 

    at ConsoleScript21.run(ConsoleScript21:6) 

?このようなjarファイルをロードできないのはなぜですか?

+1

エラー最も可能性の高い新しいファイル 'の使用文句で始まるファイルシステムのサブツリーの下のFileオブジェクトのコレクションを超える

this.getClass().classLoader.rootLoader.addURL(it.toURI().toURL()) 

dir.eachFileRecurse (FileType.FILES)繰り返し処理になった場合は(それ)' 'それは'すでに 'ファイル'です。 – Aaron

+0

クロージャーが1ライナーでない限り、私はいつも "it"を使用する代わりに引数の型(該当する場合)と名前を入力する方が好きです。 – Steinar

答えて

2
this.getClass().classLoader.rootLoader.addURL(new File(it).toURI().toURL()) 

"C:\\Whatever\\"

関連する問題