问题标签 [groovyscriptengine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 加载名称冲突的 groovy 类
我GroovyScriptEngine
在我的 Java 应用程序中使用从不同来源动态加载代码。假设我有两个文件夹sources_A\
和sources_B\
.
在每个文件夹中,我都有希望在运行时任意实例化的 Groovy 包和类。
问题:其中一些类在两个文件夹中具有相同的(完整)名称。
所以当我运行时有一个歧义:
当然,我可以创建两个不同的引擎:
但是当从这两个不同的引擎实例化的两个对象必须相互交互时,我遇到了问题:
错误:文件 bar.groovy 中方法 foo 中第 ** 行的参数类型不匹配
(不用说没有类型不匹配:对象具有正确的类型但由于引擎不同而无法识别)
简而言之,您是否有解决方案:
- 具有某种方式来消除使用哪个源文件夹的歧义的单引擎解决方案?
- 双引擎解决方案以某种方式让来自两个不同引擎的对象一起工作?
elasticsearch - 在弹性搜索中使用来自多个索引的脚本值
有没有办法编写一个可以从多个索引中读取值并在 Elasticsearch 中生成结果的脚本?
例如:
假设我需要添加 index1 和 index2 中的值并将其显示为测试。任何人都可以提出实现这一目标的方法吗?
groovy - Groovy 脚本中的可选参数
我有一个简单的脚本
当我使用以下方法调用它时:
它工作正常。但是,如果我在没有如下参数的情况下运行它:
它失败了MissingPropertyException
。
我怎样才能分配默认值,optionalParameter
这样我就不会得到MissingPropertyException
?
elasticsearch - Elasticsearch:执行自定义评分脚本时在映射中找不到字段
我已经为这个问题苦苦挣扎了好几个小时了。我正在尝试使用脚本分数(groovy)在我的搜索中实现自定义分数。
映射:
(m_skill 是一个数组)
询问 :
评分脚本:
错误 :
但是当我对“date_of_creation”进行同样的尝试时,我没有得到任何例外。我发现有些人在谈论同样的问题,但几乎没有任何帖子有回复。有没有人遇到过这样的问题。我究竟做错了什么?
另一个问题,我的公式比我上面写的要复杂得多。用简单的语言来说,就像当用户要求一组技能时,我选择具有所要求技能的文档,并根据他们的 star_wt 我给他们一个分数,用于对最终结果集进行排序。使用 elasticsearch 自定义分数实现相同功能是个好主意吗?
任何帮助都将受到欢迎。
groovy - Groovy - 没有方法签名
我是 groovy 脚本的新手,目前我正在编写一个作为 Atlassian Jira 插件的脚本。该脚本在旧版本中运行良好,但我们已将 Jira 升级到版本 7,并注意到该脚本不再运行。我检查了错误并通过根据 API 更改更改方法调用来解决它们,但仍然无法启动并运行脚本。
我使用 Script Runner for JIRA 来检查错误,它显示以下内容:
堆栈跟踪在日志中显示了 207 个故障的列表:
请在这里帮助我,我需要一个方向,以便在代码中寻找解决此问题的位置。
java - 使用 Groovy 脚本创建 java 类的实例
我正在使用 Groovy 脚本和 Java,我是这个主题的新手。我正在尝试从 groovy 脚本创建一个 java 类 (A) 的多个实例并将它们传递给列表,然后将此列表传递给一个新类 (B)。
我的 B java 文件是:
我的一个 java 文件是:
我的主要java文件是:
我的 file.groovy 是:
当我在线程“main”groovy.lang.MissingPropertyException 中运行我的应用程序异常时,我不断收到此异常:没有这样的属性:A for class:file
当我将 A 添加到 java groovy 初始化 binding.setVariable("a", new A());
我进入列表 A 的 3 个对象,但它们都在 num 中包含值 3(可能列表中的所有 3 个对象都是同一个对象)。
感谢所有帮助我解决这个问题。
groovy - SoapUI 模拟。如何根据请求中的标签值选择响应
我的 SOAP 请求如下所示:
我需要创建基于代码标签值选择响应的模拟。无需修改响应。响应按原样添加到模拟中。只需要这样的逻辑:如果代码 A 然后响应 1,如果代码 B 然后响应 2 等等。请帮助我使用基本的 groovy 脚本。
java - Groovy 脚本返回 null
Java 文件:
我将使用扩展点将上述类包含到易用模块中,如下所示:
Groovy 脚本:
我正在调用从 groovy 加载的 java 模块,如果我在该 test() 方法中编写一些功能,它工作正常,但它总是返回 Null,即使我显式返回一些整数。此脚本的预期输出为 10,但它打印为 null。
groovy - 如果注释包含闭包字段,则使用带注释字段实现 trait 的类会丢失 trait 字段上的注释
当我执行此脚本时,在控制台中我看到以下内容:
私有 java.lang.String Main.TraitWithAnnotatedField__bar 已注释:true
私有 java.lang.String Main.TraitWithAnnotatedField__foo 已注释:false
有人可以解释这种行为吗?如何正确地从 trait 字段中获取带有闭包的注释并在 groovy 中处理它们?
java - 追加 CompiledScript 或添加两个 CompiledScript
您好我正在使用Groovy
引擎来评估某个脚本。问题是执行时间有点大,所以我想把我的脚本分成两个脚本。第一个是静态的,可以在@PostConstruct
方法内部编译,第二个是变量,它取决于用户选择的一些参数。这就是我想要做的:
或者
这两个代码肯定不起作用,我用它们只是为了说明我正在尝试做的事情。是否可以将两个脚本合并为一个脚本?