Загрузка файла JAR с URL - PullRequest
1 голос
/ 13 августа 2010

Как я могу загрузить файл JAR с URL-адреса в Java, в то время как сделать запрос к файлу легитимным, добавив в запрос необходимые заголовки HTTP.

Единственный способ, которым я знаю, как поддерживать загруженный JARНа данный момент файл должен использовать ClassLoader.

. Я думаю, что этот вопрос довольно неплохо прибил (или мне так кажется!), но если кому-то нужно, чтобы я предоставил больше информации, прежде чем он сможет помочьменя, обязательно спросите меня.

Ответы [ 2 ]

1 голос
/ 13 августа 2010
0 голосов
/ 13 августа 2010

Вы можете передавать определенные заголовки HTTP, передавая пользовательский URLStreamHandlerFactory в конструкторе URLClassLoader .

Обратите внимание, что это немного отличается от создания URLClassLoader с использованием newInstance, поскольку он не использует checkPackageAccess из SecurityManager (так что вам, возможно, придется сделать это самостоятельно).

В качестве альтернативы может быть интересен jcloader (но я не пробовал): может быть проще сделать более традиционный HTTP-запрос (без использования URLStreamHandlerFactory), потенциально с Заголовки HTTP, которые вы хотите, и затем загрузите результат, используя один из его загрузчиков классов (как InputStream или что-то подобное).

(Конечно, для загрузки файла JAR из удаленного источника существуют и другие последствия для безопасности, так как вам может потребоваться проверить, что вы доверяете целостности этого файла.)

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