2013-09-08 2 views
2

Это код, я использую:Как вызвать метод из загруженного класса с помощью classLoader?

File urlclasspath = new File("C:/Users/ASUS/Desktop/semantics/semantics/bin"); 
      URL urlarray[] = new URL[1]; 
      urlarray[0] = urlclasspath.toURI().toURL(); 

      MyClassLoader mycl = new MyClassLoader(urlarray); 

      Class myclass = mycl.loadClass("USAGE"); 

      Object obj = myclass.newInstance(); 

А класс я нагрузка ИСПОЛЬЗОВАНИЕ и метод, который я хочу назвать это основных (String [] арг)

ответ

2

Вам не нужно звонить newInstance(). Сделайте это:

Class<?> myclass = mycl.loadClass("USAGE"); // get the class 
Method m = myclass.getMethod("main", String[].class); // get the method you want to call 
String[] args = new String[0]; // the arguments. Change this if you want to pass different args 
m.invoke(null, args); // invoke the method 
Смежные вопросы