如何在不使用 -cp 开关的情况下在 Groovy 中自动加载数据库 jar?

2022-09-03 01:09:46

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

groovy RunScript.groovy

而不是:

groovy -cp ojdbc5.jar RunScript.groovy

答案 1

总结自Groovy Recipes,由Scott Davis撰写,自动将JAR包含在./groovy/lib目录中

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

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

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

对于Groovy 1.5或更高版本,您似乎默认会得到这个(无需编辑conf),只需将jars放在/lib dir中即可。


答案 2

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

this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))

推荐