groovy - 如何将多个jar添加到groovyConole/groovysh的类路径中?

标签 groovy jar groovyshell groovy-console

我不得不问这个问题,这感觉很荒谬,但我似乎无法将多个 jar 文件添加到 groovyConsole 和 groovysh 的类路径中。如何将多个 jar 文件添加到类路径?这是我尝试过的:

groovyConsole -cp ~/lib/compile/jar/mysql-connector-java-5.1.32.jar:~/lib/compile/jar/ojdbc6-11.2.0.3.jar

但是,当我在控制台中执行此代码时,我得到以下结果:

 file:/Users/charlie/lib/compile/jar/mysql-connector-java-5.1.32.jar
 file:/Users/charlie/projects/fuseanalytics/./
 file:/Users/charlie/.gvm/groovy/current/lib/ant-1.9.3.jar
 file:/Users/charlie/.gvm/groovy/current/lib/ant-antlr-1.9.3.jar
 file:/Users/charlie/.gvm/groovy/current/lib/ant-junit-1.9.3.jar
 file:/Users/charlie/.gvm/groovy/current/lib/ant-launcher-1.9.3.jar
 file:/Users/charlie/.gvm/groovy/current/lib/bsf-2.4.0.jar
 file:/Users/charlie/.gvm/groovy/current/lib/commons-cli-1.2.jar
 file:/Users/charlie/.gvm/groovy/current/lib/commons-logging-1.1.1.jar
 file:/Users/charlie/.gvm/groovy/current/lib/gpars-1.2.1.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-ant-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-bsf-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-console-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-docgenerator-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-groovydoc-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-groovysh-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-jmx-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-json-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-jsr223-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-nio-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-servlet-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-sql-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-swing-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-templates-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-test-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-testng-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/groovy-xml-2.3.6.jar
 file:/Users/charlie/.gvm/groovy/current/lib/hamcrest-core-1.3.jar
 file:/Users/charlie/.gvm/groovy/current/lib/ivy-2.3.0.jar
 file:/Users/charlie/.gvm/groovy/current/lib/jansi-1.11.jar
 file:/Users/charlie/.gvm/groovy/current/lib/jcommander-1.35.jar
 file:/Users/charlie/.gvm/groovy/current/lib/jline-2.11.jar
 file:/Users/charlie/.gvm/groovy/current/lib/jsp-api-2.0.jar
 file:/Users/charlie/.gvm/groovy/current/lib/jsr166y-1.7.0.jar
 file:/Users/charlie/.gvm/groovy/current/lib/junit-4.11.jar
 file:/Users/charlie/.gvm/groovy/current/lib/multiverse-core-0.7.0.jar
 file:/Users/charlie/.gvm/groovy/current/lib/qdox-1.12.1.jar
 file:/Users/charlie/.gvm/groovy/current/lib/servlet-api-2.4.jar
 file:/Users/charlie/.gvm/groovy/current/lib/testng-6.8.8.jar
 file:/Users/charlie/.gvm/groovy/current/lib/xmlpull-1.1.3.1.jar
 file:/Users/charlie/.gvm/groovy/current/lib/xstream-1.4.7.jar

请注意,第一个 jar 文件(mysql jar 文件)已添加到类加载器中,但第二个 jar 文件(oracle jar 文件)未添加。我还尝试使用 -cp 参数两次,例如:

 groovyConsole -cp ~/lib/compile/jar/mysql-connector-java-5.1.32.jar -cp ~/lib/compile/jar/ojdbc6-11.2.0.3.jar

但这只是失败并出现错误。除了模糊地暗示它的工作原理与 Java 一样之外,这些文档显然没有任何指导。因此,为什么第一次尝试没有开箱即用,令人如此沮丧。

我还尝试使用“脚本”>“将 Jar 添加到类路径”菜单选项启动 groovyConsole 后添加 Jar 文件,但它没有添加任何 jar 文件。

那么为什么这不能以更直接的方式工作呢?

最佳答案

Groovy 类路径 Java 类路径,您可以使用通配符将所有 JAR 包含在目录中(请注意,这不是 Unix 通配符,而是 Java 的一项功能,您可以在 Unix 上必须将其括在单引号中以防止它被扩展。即:

groovyConsole -cp $HOME/lib/compile/jar/* 

这花了我令人不安的很长时间才找到:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html#A1100762

关于groovy - 如何将多个jar添加到groovyConole/groovysh的类路径中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26209240/

相关文章:

java - 停止执行 Groovy 脚本

gradle - tar可能已损坏或以意外方式被压缩

groovy - 加入 bool 元素列表groovy

java - 来自库 jar (Jetty) 的 Servlet Web 资源

java - 构造一个 jar ?

java - Groovy 生成的类名

Grails grailApplication.controllerClasses 按包排序 Controller

Groovy : why this code doesn't work ? 无法解析类

java - 无法运行我的 jar,没有返回错误(适用于 Eclipse)

grails - 如何将类传递给 Groovy 的 Eval 绑定(bind)?