2011-04-25 4 views
3

J'ai deux fichiers, a.groovy et b.groovy. Le premier est a.groovy et je l'ai mis dans le dossier abc.Groovy ne peut pas exécuter classpath

package abc;class A {void p(){print("haha")}}; 

La seconde est b.groovy. Je l'ai mis dans le dossier racine.

import abc.*; class B {void p(){new A().p()}}; new B().p(); 

Ma question est comment lancer b.groovy. J'ai essayé d'appeler "groovy b.groovy -cp abc", mais il ne peut toujours pas fonctionner car il ne peut pas résoudre la classe A.

Que dois-je faire?

Répondre

1

L'utilitaire de ligne de commande groovy recherche un fichier nommé A.groovy pour charger votre classe. A défaut, il cherchera une classe nommée A dans le classpath, mais comme A n'est pas encore compilé, il ne le trouvera pas.

Remplacez le nom de fichier par A.groovy et cela devrait fonctionner. Vous ne devriez pas avoir besoin du drapeau -cp dans ce cas.