2014-09-18 57 views
0

這裏是我的代碼如何在使用ClassLoader時將參數傳遞給jar?

package serverloader; 

import java.net.URL; 
import java.net.URLClassLoader; 

public class ServerLoader { 

    public void initiate(String[] arguments) throws Exception { 
     System.out.println("Initiating..."); 
     URL link = new URL("link"); 
     URLClassLoader classLoader = new URLClassLoader(new URL[]{link}); 
     Object o = classLoader.loadClass("class.MyClass").newInstance(); 
     System.out.println("Loaded, starting..."); 
    } 

} 

這是載入我的實際應用程序加載器,但由於某種原因它無法啓動,我相信這是因爲有需要推出多數民衆贊成在這裏被加載的應用程序的參數,那麼如何將參數

String[] arguments 

傳遞給正由ClassLoader加載的jar?

回答

0

的種類,你需要使用反射來得到滿足您的需要,類似的構造......

Class[] clazz = classLoader.loadClass("class.MyClass"); 
Constructor constructor = clazz.getConstructor(String[].class); 

一旦你的構造函數,您可以創建使用Constructor#newInstance類的新實例...

Object o = constructor.newInstance(arguments); 

舉個例子...

相關問題