17

我想简化调用 Oracle 数据库的 Groovy 脚本的执行。如何将 ojdbc jar 添加到默认类路径以便我可以运行:

groovy RunScript.groovy

代替:

groovy -cp ojdbc5.jar RunScript.groovy
4

5 回答 5

17

从Groovy Recipes中总结,作者 Scott Davis,在 ./groovy/lib 目录中自动包含 JAR

  1. .groovy/lib在您的登录目录中创建
  2. 取消注释 ${GROOVY_HOME}/conf/groovy-starter.conf 中的以下行

    load !{user.home}/.groovy/lib/*.jar

  3. 将要包含的 jar 复制到.groovy/lib

看来,对于 Groovy 1.5 或更高版本,默认情况下您会得到这个(无需编辑 conf),只需将 jar 放在 /lib 目录中即可。

于 2008-10-31T18:27:27.837 回答
5

有几种方法可以做到这一点。您可以将 jar 添加到系统的 CLASSPATH 变量中。您可以在主目录中创建一个名为 .groovy/lib 的目录并将 jar 放入其中。它将在运行时自动添加到您的类路径中。或者,您可以在代码中执行此操作:

this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
于 2008-10-31T18:26:38.573 回答
2

一种方法是在代码中使用@Grab:

    @GrabConfig(systemClassLoader=true)
    @Grab('com.oracle:ojdbc6:12.1.0.2.0')
    Class.forName("oracle.jdbc.OracleDriver").newInstance()
于 2020-04-08T15:52:22.310 回答
1

groovy只是设置 Java 类路径的 Groovy JAR 的包装脚本。我想您也可以修改该脚本以将路径添加到您自己的 JAR 中。

于 2008-10-31T18:20:16.417 回答
1

您可以将以下shebang添加到 Groovy 脚本的第一行:

#!/usr/bin/env groovy -cp ojdbc5.jar

然后,标记脚本可执行文件:

chmod u+x RunScript.groovy

现在,单独运行脚本将自动设置类路径。

./RunScript.groovy
于 2017-03-19T18:07:00.910 回答