簡體   English   中英

從命令行在包中執行Groovy類

[英]Execute a Groovy class in a package from the command line

有沒有辦法通過使用點指定包來執行Groovy類,就像使用java一樣?

示例:文件./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

我期待最后一個命令工作。 我嘗試了各種設置類路徑的方法,但無濟於事。

首先, package是一個保留關鍵字,因此您不能將其用作包名。

其次,你不能在Groovy中這樣做,因為點符號用於類,而不是用於腳本,所以你需要一個編譯的類文件來使用它。

您仍然可以使用java + classpath替換groovy命令:

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

例如,你可以為它添加一個別名'g_java',以減少它的冗長。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM