Исполняемый файл Java 10 не будет выполняться после установки - PullRequest
0 голосов
/ 26 апреля 2018

У меня странная проблема - у меня есть программа javafx, которую я компилирую и упаковываю с помощью maven (для windows я использую Inno setup для создания установочного пакета). После обновления с Java 8 до Java 10 (обновление плагинов в файле pom.xml и обновление конфигурации) - я достиг точки, когда сборка завершается успешно.

Проблема в том, что после установки пакета в Windows - исполняемый файл, который запускается, программа не будет работать должным образом. Он начинается на долю секунды, а затем останавливается.

Странная часть: если я пытаюсь запустить тот же exe-файл из папки target \ bundle (папка, в которой maven готовит файлы для упаковщика) - он работает нормально!

две папки - target \ bundle и файлы Programs (x86) / vendor / appname идентичны (файлы и содержимое файла конфигурации).

Я проверил разрешения exe-файла в папке Program Files (x86) / vendor / appname, и они выглядят нормально.

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

тот же сценарий используется для создания установочного пакета для MAC OSX, и все работает нормально в OSX, поэтому с кодом это не проблема.

Есть идеи относительно того, что это вызывает и как это исправить?

Дополнительная информация:

  1. Это начало происходить только после перехода на Java 10. Java 8 и 9 работают отлично.

  2. Мое приложение не записывает файлы в папку установки программных файлов. файлы конфигурации и журнала записываются только в папку% user% / AppData.

1 Ответ

0 голосов
/ 01 мая 2018

Я обнаружил проблему, создав рабочий пакет установки вручную с помощью мастера установки Inno, а затем сравнил его с тем, который у меня не было.

После этого я сравнил файл iss (файл конфигурации Inno), созданный мастером, с единственным, что не работало. Оказалось, что файлы банок надувного замка создали проблему. Сценарий iss из предыдущей версии скопировал их в папку lib / ext, и это создало двойную проблему пути к классам для распознавателя классов java, поскольку было две копии jar.

Это не требуется в Java 9 и Java 10. Удаление вручную добавленных банок надувных замков из файла iss решило проблему.

Надеюсь, это поможет кому-то в будущем:)

...