Java 在使用类加载器时,如何将参数传递给jar?
这是我的密码Java 在使用类加载器时,如何将参数传递给jar?,java,urlclassloader,Java,Urlclassloader,这是我的密码 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("
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
对于类加载器正在加载的jar?某种程度上,您需要使用反射来获取满足您需要的构造函数,比如
Class[] clazz = classLoader.loadClass("class.MyClass");
Constructor constructor = clazz.getConstructor(String[].class);
拥有构造函数后,可以使用ConstructornewInstance创建该类的新实例
例如
Object o = constructor.newInstance(arguments);