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

问题描述 投票:0回答:1

我不得不问这个问题,这感觉很荒谬,但我似乎无法将多个 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 一样之外,这些文档显然没有任何指导。 这就是为什么第一次尝试没有开箱即用的结果如此令人沮丧。

我还尝试使用 Script > Add Jar(s) to Class path 菜单选项启动 groovyConsole 后添加 Jar 文件,但它没有添加任何 jar 文件。

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

groovy jar groovyshell groovy-console
1个回答
6
投票

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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.