0
我在包层次结构中有一套groovy脚本。我有一个主要脚本,我想从中调用其他脚本。例如,我有这些脚本(具有相同名称的公共类/接口在其中):动态加载groovy类/脚本而不编译?
package.MainScript
package.MyInterface;
package.utils.MyInterfaceImpl1 //implements MyInterface
package.utils.MyInterfaceImpl2 //implements MyInterface
有没有办法来调用其他一个脚本,而不在编译时知道调用的类名?我的意思是做类似动态类加载:
class MainScript {
public static void main (String[] args) {
MyInterface instance = Class.forName("package.utils.Util1");
}
}
问题是,要使用Class.forName加载类,您必须将此类编译到类路径的某处。我需要做的是无需编译即可加载它。当我尝试你的建议时,我得到了ClassNotFoundException :( –
也许这可以帮助:[编译Groovy](http://groovy.codehaus.org/Compiling+Groovy)。请参阅Java应用程序中动态使用Groovy一节。 –
是,就是这样 - 请参阅Arturo的评论以回答我的问题。谢谢Arturo。 –