![](/img/trans.png)
[英]How do I load a .wav file from a jar file without the resources in the same directory as the jar file
[英]How do I auto load a database jar in Groovy without using the -cp switch?
我想简化调用 Oracle 数据库的 Groovy 脚本的执行。 如何将 ojdbc jar 添加到默认类路径以便我可以运行:
groovy RunScript.groovy
代替:
groovy -cp ojdbc5.jar RunScript.groovy
总结自Groovy Recipes ,作者 Scott Davis,自动将 JAR 包含在 ./groovy/lib 目录中:
.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"))
一种方法是在代码中使用@Grab:
@GrabConfig(systemClassLoader=true)
@Grab('com.oracle:ojdbc6:12.1.0.2.0')
Class.forName("oracle.jdbc.OracleDriver").newInstance()
groovy
只是用于设置 Java 类路径的 Groovy JAR 的包装脚本。 我想您也可以修改该脚本以将路径添加到您自己的 JAR 中。
您可以将以下shebang添加到 Groovy 脚本的第一行:
#!/usr/bin/env groovy -cp ojdbc5.jar
然后,标记脚本可执行文件:
chmod u+x RunScript.groovy
现在,单独运行脚本将自动设置类路径。
./RunScript.groovy
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.