Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java. Что делать? UnsupportedOperationException

Neon mode Гуру (3119), на голосовании 1 год назад
Вот код:
 package ixidudj; 

import java.net.*;

public class uisis {

public static void main(String[] args) throws ClassNotFoundException {
ClassLoader cl = loadableJar("file:///storage/emulated/0/Download/Loadable.jar");
Class c = cl.loadClass("DefaultClass");
}

public static ClassLoader loadableJar(String s) {
try {
return new java.net.URLClassLoader(new URL[] {new URL(s)});
} catch(MalformedURLException e) {
e.printStackTrace();
return null;
}
}
}
В консоль получаю это:

java.lang.UnsupportedOperationException: can't load this type of class file
at java.lang.ClassLoader.defineClass(ClassLoader.java:591)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:469)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(AccessController.java:69)
at java.security.AccessController.doPrivileged(AccessController.java:94)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at ixidudj.uisis.main(uisis.java:9)
at java.lang.reflect.Method.invoke(Native Method)
at com.duy.android.compiler.java.Java.run(Java.java:115)
at com.duy.ide.javaide.run.activities.ExecuteActivity.executeDex(ExecuteActivity.java:147)
at com.duy.ide.javaide.run.activities.ExecuteActivity.exec(ExecuteActivity.java:124)
at com.duy.ide.javaide.run.activities.ExecuteActivity.access$100(ExecuteActivity.java:45)
at com.duy.ide.javaide.run.activities.ExecuteActivity$1.run(ExecuteActivity.java:88)
at java.lang.Thread.run(Thread.java:919)


Ну и что делать?
В джарнике только один класс (без META-INF)
А в классе DefaultClass только один метод, больше ничего нет.
Голосование за лучший ответ
Оракул Оракул (62089) 1 год назад
Если класс в пакете, то пакет надо указывать тоже ru.bla.bla.DefaultClass
Если класс без пакета, сделайте с пакетом и см. пункт выше
Похожие вопросы