Java ile olduğu gibi paketi noktalarla belirterek Groovy sınıfını yürütmenin bir yolu var mı?Bir paket içinde Groovy sınıfını komut satırından yürütme
Örnek: ./my/package/MyClass.groovy Dosya:
package my.package
class MyClass {
static void main(String[] args) {
println "ok"
}
}
Geçen komut işe bekliyordum
> cd my/package my/package> groovy MyClass ok > cd ../.. > groovy my/package/MyClass.groovy ok > groovy my/package/MyClass ok > groovy my.package.MyClass Caught: java.io.FileNotFoundException: my.package.MyClass
. Sınıf yolunu ayarlamanın çeşitli yollarını denedim, boşuna.
Doğru cevap gibi geliyor ama işe yaramıyor. Bir örnek olarak "my.package" yi kullandım - fark ettiğim en kötü olanı. Her neyse, kabul edilebilir bir paket ismiyle bile, ve groovyc ile derlendikten sonra, işe yaramıyor. groovyc my/some/MyClass.groovy export CLASSPATH =. ls benim/bazı/MyClass.class gözlerimi/bazı/MyClass.class harika yakalandı my.some.MyClass: java.io.FileNotFoundException: /Users/olivier/my.some.MyClass (/ Users/olivier/my.some.MyClass) ? –
Haklısın, bunu nasıl özledim bilmiyorum. Biraz aldatmaya aldırmazsanız, groovy komutunu java + classpath ile değiştirebilirsiniz: java -cp /usr/share/java/groovy/embeddable/groovy-all-1.6.3.jar :. my.some.MyClass Örneğin 'g_java' için bir takma ad ekleyebilir ve daha az ayrıntılı hale getirebilirsiniz. –
Teşekkürler. İşe yarıyor. Yani, asıl soruma cevap: Hayır, Groovy'de bu şekilde çalışmıyor. Javac ve java kullanmalısın. –