繁体   English   中英

我可以在 groovy 中动态加载 jar 吗?

[英]Can I load jar dynamically in groovy?

我有一个 JAVA 程序来运行 groovy 脚本。

例子:
String returnMessage = new GroovyScriptEngine(".").run("hello.groovy", binding);

我想使用用户在运行时从我的应用程序(例如 jdbc.jar)添加的 jar,这样用户就不需要知道它在哪里。 我怎样才能加载罐子? 这样我就可以只在hello.groovy使用在这个 jar 下定义的类。

hello.groovy 包含:
println "Hello Groovy!" // code of access the class of jdbc.jar SomeClass someObj = new SomeClass();

您可以使用@Grapes依赖管理元数据在运行时加载 jar。 在 hello.groovy 的顶部添加一个葡萄块,如下所示。 依赖项将在运行时从 maven 下载。 下面的块使用 Oracles odbc jdbc 库,但您应该能够在 Maven Central 上找到自己的库。 在 Maven Central 上搜索您的库,该版本将有一个“葡萄”选项卡,您可以在其中复制类似于以下内容的块:

@Grapes(
    @Grab(group='com.oracle', module='ojdbc14', version='10.2.0.4.0')
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM