2014-09-18 53 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); 

举个例子...

相关问题