7

我不得不问这个感觉很荒谬,但我似乎无法将多个 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 文件。

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

4

1 回答 1

5

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

于 2019-01-09T21:10:16.637 回答