从groovy中访问java类 [英] access a java class from within groovy

查看:107
本文介绍了从groovy中访问java类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的java类:

I have a simple java class:

package test;
class Hello {
  public static void main(String[] args) {
    System.out.println("Hi");
  }
}

我做了一个

javac Hello.java

问题:现在我想从一个groovy脚本(access.groovy)访问这个类...

Problem: Now I would like to access this class from a groovy script (access.groovy) ...

import test.*
Hello.main(null)

但是

but

groovy -cp . access.groovy

会导致 MissingPropertyException 。我做错了什么?

will result in a MissingPropertyException . What am I doing wrong?

推荐答案

您的课程 Hello 需要宣布为公开可从其他软件包访问。作为一种动态语言,Groovy无法识别这样的错误,并最终寻找一个名为 Hello 的变量。

Your class Hello needs to be declared as public to be accessible from other packages. As a dynamic language, Groovy can't identify such errors and ends up looking for a variable named Hello.

使用通配符导入通常是一个糟糕的主意;在这种情况下,使用 import test.Hello; 会给你一个更好的错误信息。

It's generally a bad idea to use wildcard imports; in this case, using import test.Hello; would have given you a better error message.

这篇关于从groovy中访问java类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆