2016-03-28 40 views
-1

我有一个JAVA程序来运行groovy脚本。可以在groovy中动态加载jar吗?

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

我想用它在运行时添加由用户从我的应用程序(如了jdbc.jar。)的容器,使用户不需要知道它在哪里。 如何加载jar?以便我可以将此jar下定义的类仅用于hello.groovy

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

回答

0

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

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