Как мне сделать java.io.File в java.lang.Class, чтобы запустить его? - PullRequest
2 голосов
/ 30 октября 2010

У меня есть программа, которая позволяет пользователю выбрать любой файл .class или .jar и запустить его. Проблема в том, что для его запуска мне нужно использовать что-то отличное от java.io.File, которое возвращает JFileChooser. Как я могу превратить java.io.File в java.lang.Class или java.util.jar.JarFile?

Ответы [ 2 ]

2 голосов
/ 30 октября 2010

Если у вас есть File объект класса, который вы хотите загрузить, вы можете использовать URLClassLoader для загрузки класса.Объект File может предоставить URL.

0 голосов
/ 31 октября 2010

Проблема в том, что вам нужно определить путь к классу из самого класса.Это не самая простая вещь.

Лучше всего проанализировать файл с помощью такого инструмента, как asm.objectweb.org, найти пакет класса и вывести корень classpath из комбинациипакета класса и имя файла.Даже тогда вы предполагаете, что этот класс использует только классы в этом одном каталоге файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...