I have a groovy script like this:
@Grab('com.univocity:univocity-parsers:2.0.0') import com.univocity.parsers.csv.*; class MyCsvParser { }
And I want to load this class in my java application via GroovyClassLoader
. But @Grab
is somehow inferior in ivy exclusion:
SomeJavaClass { void someMethod() { String script = FileUtils.readFileToString("the groovy File"); Class c = new GroovyClassLoader(this.getClass().getClassLoader())).parse(script); } }
Stack
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
When I comment on @Grab
everything works fine. How to enable Grapes in GroovyClassLoader
?
source share