|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Петр : 707 Постоянный посетитель Откуда: Москва
|
Июл 26, 2010 13:44 |
|
|
требуется использовать рефлексию. но файлы должны лежать с в jar. поискал нашел решение, но оно чего то не работает.
| Код: |
package jar;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Enumeration;
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;
public class Jar1 {
public static void main(String[] args) throws IOException, URISyntaxException, ClassNotFoundException {
String filePath = "/home/pitbull/temp/plugins/ts_script.jar";
printJar(filePath);
load(filePath);
}
public static void printJar(String path) throws IOException {
JarFile jarFile = new JarFile(path);
Enumeration entries = jarFile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
System.out.println(entry.getName());
}
jarFile.close();
}
public static void load(String filePath) throws MalformedURLException, ClassNotFoundException {
filePath = "jar:file://" + filePath + "!/";
URL url = new File(filePath).toURI().toURL();
URLClassLoader clazzLoader = new URLClassLoader(new URL[]{url});
clazzLoader.loadClass("before_add_message.CheckSpentTimeScript");
}
}
|
|
|
|
|
 |
Петр : 707 Постоянный посетитель Откуда: Москва
|
Июл 26, 2010 15:55 |
|
|
это я сам ошибся. имя класса называется по другому
| Код: |
| Class clazz = clazzLoader.loadClass("scripts.before_add_message.CheckSpentTimeScript"); |
|
|
|
|
 |
|
|
Страница 1 из 1
|
Список форумов
-> Отражение (Reflection API) |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|