Esiste un modo per eseguire una classe Groovy specificando il pacchetto con punti, come con java?Esegui una classe Groovy in un pacchetto dalla riga di comando
esempio: file ./my/package/MyClass.groovy:
package my.package
class MyClass {
static void main(String[] args) {
println "ok"
}
}
> 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
mi aspettavo l'ultimo comando di lavorare. Ho provato vari modi di impostare il classpath, senza risultato.
Sembra la risposta giusta, ma non funziona. Ad ogni modo, ad esempio, ho usato "my.package", un cattivo esempio. Ad ogni modo, anche con un nome di pacchetto accettabile, e dopo la compilazione con groovyc, non funziona. groovyc mio/alcuni/MyClass.groovy esportazione CLASSPATH =. ls mia/some/MyClass.class mio/some/MyClass.class my.some.MyClass Groovy fermati: java.io.FileNotFoundException: /Users/olivier/my.some.MyClass (/ Users/olivier/my.some.MyClass) ? –
Hai ragione, non so come mi sia mancato. Se non ti dispiace barare un po ', puoi sostituire il comando groovy con java + classpath: java -cp /usr/share/java/groovy/embeddable/groovy-all-1.6.3.jar :. my.some.MyClass È possibile aggiungere un alias ad esso 'g_java' per esempio per renderlo meno dettagliato. –
Grazie. Funziona. Quindi, la risposta alla mia domanda iniziale è: No, non funziona in questo modo in Groovy. Devi usare javac e java. –