groovy - 从放置在 war 中的 groovy jar 运行 Groovy CLI

标签 groovy jar clojure command-line-interface

我知道 Groovysh,但我需要知道是否可以直接从部署的 war servlet 中的 groovy.jar 运行 groovy CLI(使用一个命令)。我可以简化问题。是否有可能像在 Clojure 中那样运行 Groovy CLI?

java -cp clojure-1.4.0.jar clojure.main

CLI 出现在终端中。这就是 Clojure 中的样子。我正在寻找将在终端中运行 groovy CLI 的一行命令(仅使用 groovy 库来运行它)。我在 javadoc 中寻找帮助,找到了应该有帮助的类,但不知道如何运行它。 :f

http://groovy.codehaus.org/api/groovy/lang/GroovyShell.html

(如果有人知道不符合所有标准的解决方案,也请回答。)

//编辑

好像还需要groovy.jar、commons-cli.jar、antlr.jar、asm-util.jar和jline.jar。所以我在 WEB-INF/lib 目录中的 war 文件中添加了这些文件。也许制作我自己的 jar 是一个很好的解决方案,它的作用是从其他 jar 调用 Groovy CLI,但现在的问题是,如何通过命令行将 ro run jar 放置在部署的 war 应用程序内的 WEB-INF/lib 目录中?

问候

最佳答案

似乎 groovysh 依赖的库比可嵌入版本包含的更多。我设法通过使用以下命令做你想做的事:

$ java -classpath '*' org.codehaus.groovy.tools.shell.Main

但是当前目录必须是所有 groovy 库所在的目录;即 $GROOVY_HOME/lib:

$ cd $GROOVY_HOME/lib
$ java -classpath '*' org.codehaus.groovy.tools.shell.Main
Groovy Shell (2.0.6, JVM: 1.6.0_24)
Type 'help' or '\h' for help.
------------------------------------------------------------------------------
groovy:000> 

关于groovy - 从放置在 war 中的 groovy jar 运行 Groovy CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115265/

相关文章:

java - 如何在 Java 中制作不包含绝对路径名的 Zip/Jar

java - 打开文件;首先尝试文件系统,然后尝试 JAR

java - Intellij idea 2022.1.3 ultimate 显示错误java : JPS incremental annotation processing is disabled

scala - Scala/Groovy/Clojure 中的 GUI

grails - 更改 [hasMany :] reference to a list?

java - 错误 java.lang.ClassNotFoundException : com. mysql.jdbc.Driver 运行 jar 文件

hibernate - 如何在 grails 脚本中建立 Hibernate session

clojure - 为什么对惰性序列进行过滤在 clojure 中不起作用?

macros - 在 clojure 宏中取消引用拼接并包装在向量中

clojure - 在 LightTable 中,如何更改 Clojure 版本?