при выполнении апплета не удается выполнить пакетный файл, упакованный внутри исполняемого jar

#java #applet #executable-jar

#java #апплет #исполняемый файл-jar

Вопрос:

Я выполняю bat-файл через свою Java-программу. путь жестко задан в java.

Я упаковал bat-файл в jar.и jar содержит основной класс как класс апплета.

я вызываю этот файл jar со страницы jsp как апплет.

апплет успешно запущен, но не удалось запустить bat-файл внутри init.

Если я укажу жестко закодированный путь, он выполняется … но не может выполнить извлечение из jar.

Какие-либо подсказки для упаковки такого jar, т.е. Наличия внутри bat-файла и возможности запускать его как динамический апплет?

Ответ №1:

Вы пытаетесь сделать здесь две невозможные вещи:

  • запустите пакетный файл из апплета. Для этого потребуется подписанный апплет и разрешения, предоставленные пользователем, потому что, очевидно, запуск внешней программы из апплета, загруженного из Интернета, очень, очень небезопасен.
  • выполните пакетный файл, которого нет в файловой системе. cmd.exe ожидает выполнения пути к файловой системе пакетного файла. Он не сможет найти пакетный файл в jar, который существует только в памяти браузера. Вам нужно будет записать пакетный файл в файловую систему (для чего, опять же, потребуется подписанный апплет и предоставленные разрешения, поскольку разрешение записи апплета на локальный жесткий диск очень небезопасно), а затем выполнить этот пакетный файл.

Апплеты выполняются в изолированной среде безопасности. Вам нужно узнать об этом. Читать http://download.oracle.com/javase/tutorial/deployment/applet/security.html