0

Java 文件:

      public class TestModule{

          @WrapToScript
          public Integer test() final Object params) {
              return 10;
          }
      }

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

      <extension
         point="org.eclipse.ease.modules">

      <module
            category="pkg.script.platform"
            class="pkg.script.modules.TestModule"
            id="pkg.script.modules.TestModule"
            name="TestModule"
            visible="true">
      </module>
   </extension>

Groovy 脚本:

      print(test();)

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

4

1 回答 1

0

这是因为我在初始化引擎时创建的模块中添加了执行前和执行后代码。

在后执行代码中,我们有一个名为 result 的变量,并且 groovy 引擎也以相同的名称存储它的结果。

因此结果变量在执行后代码中被重写。

在后执行代码中重命名变量名称后,问题就解决了。

于 2018-02-17T06:55:38.523 回答