3

我知道 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,但现在的问题是,如何通过命令行运行放置在部署的 war 应用程序内的 WEB-INF/lib 目录中的 jar?

问候

4

1 回答 1

4

似乎 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> 
于 2013-01-02T00:13:33.430 回答