unix - 如何在 unix-ERROR 中执行 groovy jar

标签 unix groovy

我有一个在 eclipse 中开发的 groovy 项目,其中有一个包(hello)和一个 groovy 类(helloWorld.groovy)。我已经导出了 jar(比如 HelloWorld.jar)。我正在尝试通过以下方式在 unix 中执行此 jar:-

groovy -cp /tmp/HelloWorld.jar hello.helloWorld

但得到以下错误:-
Caught: java.io.FileNotFoundException: /tmp/hello.helloWorld (/tmp/hello.helloWorld)
java.io.FileNotFoundException: /tmp/hello.helloWorld (/tmp/hello.helloWorld)

最佳答案

一个类只是一个声明,除非它包含静态方法。

您可以创建类的实例并从命令行脚本调用方法。

HelloWorld.groovy

package hello
class HelloWorld {
    def main() { println "Hello World!" }
}

编译和jar:
groovyc HelloWorld.groovy
jar -cf HelloWorld.jar hello

执行:
groovy -cp HelloWorld.jar -e 'new hello.HelloWorld().main()'

您可以在不创建类的实例的情况下调用静态方法:

HelloWorld.groovy
package hello
class HelloWorld {
    static main() { println "Hello World!" }
}

编译和jar:
groovyc HelloWorld.groovy
jar -cf HelloWorld.jar hello

执行:
groovy -cp HelloWorld.jar -e 'hello.HelloWorld.main()'

关于unix - 如何在 unix-ERROR 中执行 groovy jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903706/

相关文章:

java - katalon无法连接MYSQL服务器

grails - 可以在异常中存储其他对象吗?

javascript - 无法在选择中选择多个值

linux - 如何连接两个或多个存储在awk脚本中的变量中的字符串

c - 函数指针作为任何设备操作的入口点

android - doLast gradle任务未运行

groovy - 如何使用属性在mockservice SOAPUI中创建资源路径

c - unix中的加载命令文件如何获取参数?

c - 广度优先

java - 如何使用java代码检查服务是否正在linux机器上运行