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。 –