问题标签 [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.

0 投票
1 回答
140 浏览

java - 加载名称冲突的 groovy 类

GroovyScriptEngine在我的 Java 应用程序中使用从不同来源动态加载代码。假设我有两个文件夹sources_A\sources_B\.

在每个文件夹中,我都有希望在运行时任意实例化的 Groovy 包和类。

问题:其中一些类在两个文件夹中具有相同的(完整)名称。

所以当我运行时有一个歧义:

当然,我可以创建两个不同的引擎:

但是当从这两个不同的引擎实例化的两个对象必须相互交互时,我遇到了问题:

错误:文件 bar.groovy 中方法 foo 中第 ** 行的参数类型不匹配

(不用说没有类型不匹配:对象具有正确的类型但由于引擎不同而无法识别)

简而言之,您是否有解决方案:

  • 具有某种方式来消除使用哪个源文件夹的歧义的单引擎解决方案?
  • 双引擎解决方案以某种方式让来自两个不同引擎的对象一起工作?
0 投票
0 回答
164 浏览

elasticsearch - 在弹性搜索中使用来自多个索引的脚本值

有没有办法编写一个可以从多个索引中读取值并在 Elasticsearch 中生成结果的脚本?

例如:

假设我需要添加 index1 和 index2 中的值并将其显示为测试。任何人都可以提出实现这一目标的方法吗?

0 投票
1 回答
802 浏览

groovy - Groovy 脚本中的可选参数

我有一个简单的脚本

当我使用以下方法调用它时:

它工作正常。但是,如果我在没有如下参数的情况下运行它:

它失败了MissingPropertyException

我怎样才能分配默认值,optionalParameter这样我就不会得到MissingPropertyException

0 投票
1 回答
4379 浏览

elasticsearch - Elasticsearch:执行自定义评分脚本时在映射中找不到字段

我已经为这个问题苦苦挣扎了好几个小时了。我正在尝试使用脚本分数(groovy)在我的搜索中实现自定义分数。

映射:

(m_skill 是一个数组)

询问 :

评分脚本:

错误 :

但是当我对“date_of_creation”进行同样的尝试时,我没有得到任何例外。我发现有些人在谈论同样的问题,但几乎没有任何帖子有回复。有没有人遇到过这样的问题。我究竟做错了什么?

另一个问题,我的公式比我上面写的要复杂得多。用简单的语言来说,就像当用户要求一组技能时,我选择具有所要求技能的文档,并根据他们的 star_wt 我给他们一个分数,用于对最终结果集进行排序。使用 elasticsearch 自定义分数实现相同功能是个好主意吗?

任何帮助都将受到欢迎。

0 投票
2 回答
511 浏览

groovy - Groovy - 没有方法签名

我是 groovy 脚本的新手,目前我正在编写一个作为 Atlassian Jira 插件的脚本。该脚本在旧版本中运行良好,但我们已将 Jira 升级到版本 7,并注意到该脚本不再运行。我检查了错误并通过根据 API 更改更改方法调用来解决它们,但仍然无法启动并运行脚本。

我使用 Script Runner for JIRA 来检查错误,它显示以下内容:

堆栈跟踪在日志中显示了 207 个故障的列表:

请在这里帮助我,我需要一个方向,以便在代码中寻找解决此问题的位置。

0 投票
1 回答
3189 浏览

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 个对象都是同一个对象)。

感谢所有帮助我解决这个问题。

0 投票
1 回答
438 浏览

groovy - SoapUI 模拟。如何根据请求中的标签值选择响应

我的 SOAP 请求如下所示:

我需要创建基于代码标签值选择响应的模拟。无需修改响应。响应按原样添加到模拟中。只需要这样的逻辑:如果代码 A 然后响应 1,如果代码 B 然后响应 2 等等。请帮助我使用基本的 groovy 脚本。

0 投票
1 回答
718 浏览

java - Groovy 脚本返回 null

Java 文件:

我将使用扩展点将上述类包含到易用模块中,如下所示:

Groovy 脚本:

我正在调用从 groovy 加载的 java 模块,如果我在该 test() 方法中编写一些功能,它工作正常,但它总是返回 Null,即使我显式返回一些整数。此脚本的预期输出为 10,但它打印为 null。

0 投票
1 回答
287 浏览

groovy - 如果注释包含闭包字段,则使用带注释字段实现 trait 的类会丢失 trait 字段上的注释

当我执行此脚本时,在控制台中我看到以下内容:

私有 java.lang.String Main.TraitWithAnnotatedField__bar 已注释:true
私有 java.lang.String Main.TraitWithAnnotatedField__foo 已注释:false

有人可以解释这种行为吗?如何正确地从 trait 字段中获取带有闭包的注释并在 groovy 中处理它们?

0 投票
1 回答
527 浏览

java - 追加 CompiledScript 或添加两个 CompiledScript

您好我正在使用Groovy引擎来评估某个脚本。问题是执行时间有点大,所以我想把我的脚本分成两个脚本。第一个是静态的,可以在@PostConstruct方法内部编译,第二个是变量,它取决于用户选择的一些参数。这就是我想要做的:

或者

这两个代码肯定不起作用,我用它们只是为了说明我正在尝试做的事情。是否可以将两个脚本合并为一个脚本?