gpt4 book ai didi

java - Java中嵌入groovy,groovy.lang.MissingPropertyException : No such property:

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:01 30 4
gpt4 key购买 nike

我正在开发一个在 Groovy 脚本中加载的 Java 项目。一切都按预期工作,除了引用其他 groovy 脚本(在本例中为实用程序类)的 groovy 脚本。每当执行包含所述实用程序类的脚本时,插件加载器都会抛出异常“groovy.lang.MissingPropertyException:没有这样的属性:Util。

在我怀疑 Java 代码有问题之前,我想首先了解 Groovy 如何“查找”其他类。如果我在 eclipse 中运行这个项目,并且包含所有这些 groovy 脚本的整个项目目录都在类路径中,那么所有 groovy 脚本是否都应该能够“找到”彼此?

或者还有其他想法吗?

最佳答案

Groovy 在脚本和类之间有区别。如果 Groovy 文件包含类定义之外的一些代码,则它被视为脚本,并被编译为位于默认包中的类(无论 package 声明中设置了什么)。

我不知道你如何调用Groovy脚本,但是如果你使用GroovyShell类,然后 GroovyShell 有一个带有 ClassLoader 类型参数的构造函数,您可以将当前的类加载器传递给该类加载器或包含其他编译的 Groovy 脚本的自定义类加载器。或者如果您使用 GroovyScriptEngine您可以传递对脚本所在目录的引用,引擎将为您编译它们并使它们可用于该目录中的其他脚本。

有关将 Groovy 嵌入 Java 的更多信息,请访问:http://groovy.codehaus.org/Embedding+Groovy .

但总的来说,我需要更多地了解您的设置(文件夹结构、构建工具、您在构建过程中编译groovy代码、如何从java运行groovy代码、如何从groovy调用groovy脚本、如何组织类路径等),以便为您提供一些更准确的建议。

关于java - Java中嵌入groovy,groovy.lang.MissingPropertyException : No such property:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165267/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com