Я пытаюсь создать автономный пакет. Обычно для этого просто нужно установить платформу Java в категории библиотеки свойств проекта, щелкнуть правой кнопкой мыши по проекту и выбрать пакет as-> image. Это создает папку "bundle". Однако, поскольку мне нужно использовать 32-битную DLL сторонней организации в своем проекте, я выбрал 32-битную платформу Java в свойствах проекта. DLL нормально загружается при отладке или запуске в Netbeans, но если я дважды щелкну «MyApp.exe» в комплекте, я получу два всплывающих окна: «класс myapp / MyApp не найден» и «не удалось запустить JVM».
Если я выполню, через командную строку,
cd "C: \ Program Files (x86) \ Java \ jdk1.8.0_102 \ jre \ bin"
который является 32-битным JRE, а затем,
./java -jar "C: \ Users \ freefall83 \ Documents \ Netbeans \ myapp \ dist \ bundles \ MyApp 0.1.3a \ app \ MyApp.jar"
запускается без ошибок и работает ОК.
Кто-нибудь знает, почему .exe не запускается? Я думаю, что вся цель пакета состоит в том, чтобы убежать из упакованного JRE. Может быть, Netbeans не поддерживает указанную платформу?
Я должен также упомянуть, что я не раз делал это успешно в прошлом, определяя 32-битную платформу в 64-битной системе, загружая 32-битные DLL, и не испытывая проблем с упаковкой и запуском. Сейчас я использую Netbeans 8.2 в Windows 10.