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?
Your class
Helloneeds 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 namedHello.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.