从 groovy 中访问 java 类

发布于 2024-12-06 20:26:20 字数 441 浏览 0 评论 0原文

我有一个简单的java类:

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

我在它上面做了一个

javac Hello.java

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

import test.*
Hello.main(null)

groovy -cp . access.groovy

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

I have a simple java class:

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

on which I do a

javac Hello.java

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

筱武穆 2024-12-13 20:26:20

您的类 Hello 需要声明为 public 才能从其他包访问。作为一种动态语言,Groovy 无法识别此类错误,最终会寻找名为 Hello 的变量。

使用通配符导入通常是一个坏主意;在这种情况下,使用 import test.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.

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文