Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
init上的Java GroovyShell NullPointerException_Groovy - Fatal编程技术网

init上的Java GroovyShell NullPointerException

init上的Java GroovyShell NullPointerException,groovy,Groovy,我试图在我们的应用程序中实现一个基于Groovy的API。当我在实际运行时尝试它时,它成功地运行,即使使用一些相当复杂的脚本。但是,每当我在集成测试期间尝试运行它时,它都会在初始化类加载器时失败 下面是我最简单的单元测试: @Test public void groovy() { new GroovyShell(new Binding()).evaluate("def x = 1"); } 下面是我从中得到的错误: Caused by: java.l

我试图在我们的应用程序中实现一个基于Groovy的API。当我在实际运行时尝试它时,它成功地运行,即使使用一些相当复杂的脚本。但是,每当我在集成测试期间尝试运行它时,它都会在初始化类加载器时失败

下面是我最简单的单元测试:

@Test
public void groovy()
    {
    new GroovyShell(new Binding()).evaluate("def x = 1");
    }
下面是我从中得到的错误:

Caused by: java.lang.NullPointerException
at groovy.lang.GroovyClassLoader$InnerLoader.setDefaultAssertionStatus(GroovyClassLoader.java:617)
at java.base/java.lang.ClassLoader.initializeClassLoaderAssertStatus(ClassLoader.java:1998)
at java.base/java.lang.ClassLoader.<init>(ClassLoader.java:344)
at java.base/java.lang.ClassLoader.<init>(ClassLoader.java:284)
at java.base/java.security.SecureClassLoader.<init>(SecureClassLoader.java:83)
at java.base/java.net.URLClassLoader.<init>(URLClassLoader.java:232)
at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:158)
at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:147)
at groovy.lang.GroovyClassLoader$InnerLoader.<init>(GroovyClassLoader.java:472)
at groovy.lang.GroovyClassLoader.lambda$createCollector$4(GroovyClassLoader.java:671)
at groovy.lang.GroovyClassLoader$$Lambda$793/0000000000000000.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:678)
at groovy.lang.GroovyClassLoader.createCollector(GroovyClassLoader.java:671)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:385)
at groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)
at groovy.lang.GroovyClassLoader$$Lambda$770/0000000000000000.provide(Unknown Source)
at org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
at org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:526)
at groovy.lang.GroovyShell.parse(GroovyShell.java:538)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:426)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:461)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:436)
原因:java.lang.NullPointerException
位于groovy.lang.GroovyClassLoader$InnerLoader.setDefaultAssertionStatus(GroovyClassLoader.java:617)
位于java.base/java.lang.ClassLoader.InitializeClassLoadErasertStatus(ClassLoader.java:1998)
位于java.base/java.lang.ClassLoader。(ClassLoader.java:344)
位于java.base/java.lang.ClassLoader(ClassLoader.java:284)
位于java.base/java.security.SecureClassLoader。(SecureClassLoader.java:83)
位于java.base/java.net.URLClassLoader(URLClassLoader.java:232)
位于groovy.lang.GroovyClassLoader(GroovyClassLoader.java:158)
位于groovy.lang.GroovyClassLoader(GroovyClassLoader.java:147)
位于groovy.lang.GroovyClassLoader$InnerLoader(GroovyClassLoader.java:472)
位于groovy.lang.GroovyClassLoader.lambda$createCollector$4(GroovyClassLoader.java:671)
在groovy.lang.GroovyClassLoader$$Lambda$793/0000000000000000.run处运行(未知源)
位于java.base/java.security.AccessController.doPrivileged(AccessController.java:678)
位于groovy.lang.GroovyClassLoader.createCollector(GroovyClassLoader.java:671)
位于groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:385)
位于groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)
位于groovy.lang.GroovyClassLoader$$Lambda$770/0000000000000000.provide(未知源)
位于org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
位于org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
位于groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330)
位于groovy.lang.GroovyShell.parseClass(GroovyShell.java:526)
位于groovy.lang.GroovyShell.parse(GroovyShell.java:538)
在groovy.lang.GroovyShell.evaluate中(GroovyShell.java:426)
在groovy.lang.GroovyShell.evaluate中(GroovyShell.java:461)
在groovy.lang.GroovyShell.evaluate中(GroovyShell.java:436)
有没有我遗漏的设置?我必须给GroovyShell一个预构建的类加载器吗?如果是这样,为什么这不是在自动化测试之外发生的呢