groovy call java_Java调用Groovy类直接异常:非法使用非虚函数调用

当我尝试在Java中调用Groovy类时,我得到了以下异常:

线程“main”中的异常java.lang.VerifyError :(类:groovy / runtime / metaclass / java / lang / StringMetaClass,方法:super $ 2 $ invokeMethod signature:(Ljava / lang / Class; Ljava / lang / Object; Ljava / lang / String; [Ljava / lang / Object; ZZ)Ljava / lang / Object;)非法使用非虚函数调用

这是Groovy代码片段

class TestGroovy{

def testSplit(){

def orglist = "01,02,03"

println orglist.split(",")

}

}

这是Java代码片段 .

public static void main(String[] args) {

TestGroovy tg = new TestGroovy();

tg.testSplit();

}

任何人都可以对这个问题有所了解吗?提前致谢!

我设置了一个MCVE,但这次我没有重现这个问题 . 它按预期工作 .

以下是MCVE设置Java调用Groovy类的步骤

为Eclipse IDE安装Groovy工具

我正在使用Eclipse Neon Release(4.6.0)

通过帮助▸安装新软件...菜单项打开Eclipse Update管理器以安装Groovy Eclipse插件 . 在此对话框中输入以下URL:

选择:Groovy-Eclipse(必需),然后单击下一步以安装Groovy插件 .

2.创建一个名为CroovyCalledByJava文件的新Groovy项目▸新建▸其他▸Groovy▸Groovy项目

3.通过文件创建名为TestGroovy的新Groovy类▸新建▸其他▸Groovy▸Groovy类

package product.rule

class TestGroovy {

def testSplit(){

def orglist = "01,02,03"

println orglist.split(",")

}

}

创建一个新的Maven项目,通过文件调用JavaCallGroovy▸新增▸其他▸Maven▸Maven项目

将以下依赖项添加到pom.xml文件 .

org.codehaus.groovy

groovy-all

2.4.11

通过右键单击项目来配置Java构建路径,选择“属性”并检查构建路径是否包含CroovyCalledByJava项目

编辑生成的App.java

import product.rule.TestGroovy;

public class App

{

public static void main( String[] args )

{

TestGroovy tg = new TestGroovy();

tg.testSplit();

}

}

运行APP和Java应用程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值