Упаковка JRE с моим заявлением - PullRequest
3 голосов
/ 22 сентября 2011

Мое приложение содержит exe-файл c ++, который вызывает Java-программу с использованием JNI, поэтому требуется jvm.dll.Однако я хочу, чтобы мое приложение поставлялось с собственным встроенным jre, но после того, как я скопировал папку jre6, найденную в JAVA_HOME, и добавил ее в мой установщик, программа не запускается (ошибка произошла во время инициализации виртуальной машины. Невозможно загрузить собственную библиотеку: можетне находит зависимые библиотеки), когда я использую средство обхода зависимостей на jvm.dll, он говорит, что не может найти gpsvc.dll, IEShims.dll и sysntfy.dll.После того, как я попытался скопировать эти dll в ту же папку, что и jvm.dll, средство обхода зависимостей говорит мне, что gpsvc.dll и sysntfy.dll 64-разрядные, где они должны быть x86.Проблема в том, что это были единственные библиотеки в моей системе, что мне делать?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Виртуальная машина Java состоит из гораздо большего, чем просто jvm.dll. Вам нужно будет перераспределить весь пакет JVM и установить его на компьютер пользователя, а не просто добавлять jvm.dll в собственное приложение.

Вероятно, будет гораздо проще потребовать от ваших пользователей загрузить и установить JVM самостоятельно перед установкой вашего приложения. Если вы действительно хотите распространять JVM вместе с вашим приложением, вам нужно найти документацию на веб-сайте Oracle о том, что это за лицензия и как это сделать. Посмотрите этот абзац readme JDK 6, например.

Это не так просто, как копирование jvm.dll и других библиотек, от которых это зависит.

1 голос
/ 22 сентября 2011

Вы можете скачать необходимые библиотеки DLL с соответствующих сайтов, то есть с этого .

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