13

javaのように、ドットでパッケージを指定してGroovyクラスを実行する方法はありますか?

例:ファイル./my/package/MyClass.groovy:

package my.package

class MyClass {
  static void main(String[] args) {
    println "ok"
  }
}
> cd my / package
my / package> groovy MyClass
わかった
>cd../.。
> groovy my / package / MyClass.groovy
わかった
> groovy my / package / MyClass
わかった
> groovy my.package.MyClass
キャッチ:java.io.FileNotFoundException:my.package.MyClass

私は最後のコマンドが機能することを期待していました。クラスパスを設定するさまざまな方法を試しましたが、役に立ちませんでした。

4

1 に答える 1

17

まず、packageは予約キーワードであるため、パッケージ名として使用することはできません。

第二に、Groovyではこれを行うことができません。ドット表記はスクリプトではなくクラスに使用されるため、使用するにはコンパイル済みのクラスファイルが必要です。

それでも、groovyコマンドをjava+classpathに置き換えることができます。

java -cp /usr/share/java/groovy/embeddable/groovy-all-1.6.3.jar:. my.some.MyClass

たとえば、エイリアスを「g_java」に追加して、冗長性を減らすことができます。

于 2009-05-28T11:14:53.263 に答える