2011-09-27 16 views
5

Tengo una clase Java simple:acceder a una clase Java desde dentro maravilloso

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

en la que hago un problema

javac Hello.java 

: Ahora me gustaría tener acceso a esta clase de un guión maravilloso (access.groovy) ...

import test.* 
Hello.main(null) 

pero

groovy -cp . access.groovy 

dará como resultado un MissingPropertyException. ¿Qué estoy haciendo mal?

Respuesta

14

Su clase Hello debe declararse pública para poder acceder a ella desde otros paquetes. Como un lenguaje dinámico, Groovy no puede identificar tales errores y termina buscando una variable llamada Hello.

En general, es una mala idea usar importaciones de comodines; en este caso, usar import test.Hello; le hubiera dado un mejor mensaje de error.

+0

En realidad parece funcionar para mí como es (Groovy 1.8.2) pero +1 para un buen consejo :-) –

+0

Sabía que era tonto trivial :-) Gracias! – rdmueller

+0

Estaba usando Groovy 1.7 ... – rdmueller

Cuestiones relacionadas