如何在不使用-cp开关的情况下在Groovy中自动加载数据库jar?
题
我想简化执行调用Oracle数据库的Groovy脚本的操作。如何将ojdbc jar添加到默认的类路径中,以便我可以运行:
groovy RunScript.groovy
而不是:
groovy -cp ojdbc5.jar RunScript.groovy
解决方案
总结来自 Groovy Recipes ,作者:Scott Davis,在./groovy/lib目录中自动包含JAR :
- 在您的登录目录中创建
.groovy / lib
-
取消注释$ {GROOVY_HOME} /conf/groovy-starter.conf中的以下行
load!{user.home} /.groovy / lib / * .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
不隶属于 StackOverflow