5
でGroovyClassLoaderを使用したとき、私はGroovyのスクリプトそうのようにあります。はクラスが見つかりませんガイド:org.apache.ivy.core.report.ResolveReport Javaの
@Grab('com.univocity:univocity-parsers:2.0.0')
import com.univocity.parsers.csv.*;
class MyCsvParser {
}
そして私は私のJavaアプリケーションでこのクラスをロードしたいですGroovyClassLoader
を介してしかし@Grab
は何とかツタ例外で得られます。
SomeJavaClass {
void someMethod() {
String script = FileUtils.readFileToString("the groovy File");
Class c = new GroovyClassLoader(this.getClass().getClassLoader())).parse(script);
}
}
スタック:
Caused by: java.lang.ClassNotFoundException: org.apache.ivy.core.report.ResolveReport
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 41 more
私がコメントアウトした場合@Grab
すべてがうまく動作します。どのようにしてGroovyClassLoader
のブドウを有効にすることができますか?
このファイルには、ApacheアイビーFrameworkの一部である - http://javasearch.buggybread.com/home.php?keyword=org.apache.ivy.core .report.ResolveReport –