如何在不使用-cp开关的情况下在Groovy中自动加载数据库jar?
我想简化我对执行Oracle数据库调用的Groovy脚本的执行。 如何将ojdbc jar添加到默认的类路径中,以便我可以运行:
groovy RunScript.groovy
代替:
groovy -cp ojdbc5.jar RunScript.groovy
摘自Scott Davis的Groovy Recipes , 在./groovy/lib目录中自动包含JAR :
- 在您的登录目录中创建
.groovy/lib
-
取消注释$ {GROOVY_HOME} /conf/groovy-starter.conf中的以下行
load !{user.home}/.groovy/lib/*.jar
-
将您想要包含的jar复制到
.groovy/lib
看来,对于Groovy 1.5或更高版本,默认情况下你会得到这个(不需要编辑conf),只需将jar放在/ lib目录中即可。
有几种方法可以做到这一点。 您可以将jar添加到系统的CLASSPATH变量中。 您可以在主目录中创建一个名为.groovy / lib的目录,然后将jar放在那里。 它将在运行时自动添加到类路径中。 或者,您可以在代码中执行此操作:
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
groovy
只是设置Java类路径的Groovy JAR的包装脚本。 我想你可以修改那个脚本来添加你自己的JAR的路径。
您可以将以下shebang添加到Groovy脚本的第一行:
#!/usr/bin/env groovy -cp ojdbc5.jar
然后,标记脚本可执行文件:
chmod u+x RunScript.groovy
现在,单独运行脚本将自动设置类路径。
./RunScript.groovy