Файл launch4j / OneJAR, упакованный .exe, поврежден.

Я использую OneJAR для упаковки своего приложения в одну банку.

Созданный OneJAR файл .jar отлично запускается в Windows, а код JOGL работает нормально.

Затем я превращаю этот файл .jar в файл .exe с помощью launch4j.

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

Мое приложение включает в себя некоторый собственный код (JOGL DLL), который, как я подозреваю, может быть связан.

Если я создам исполняемый файл jar без OneJAR и превращаю его в .exe, который запускается нормально, хотя он жалуется на отсутствие JOGL DLL (естественно, поскольку они не могут быть включены в jar без чего-то вроде OneJAR).

Итак, кто-нибудь заставил эту комбинацию OneJAR + launch4j + DLL работать, или это что-то, что не будет работать?


person nyholku    schedule 20.01.2012    source источник


Ответы (2)


попробуйте JarSplice, у меня все сработало с Launch4j.

person Gavin    schedule 20.01.2012
comment
Спасибо, приятно знать. Я посмотрю на это, если я не могу заставить OneJAR играть в мяч с launch4j. JarSplice мог бы выполнить эту работу, если бы он работал для вас, но, похоже, ему не хватает каких-либо сценариев, поэтому это будет этап ручной сборки, которого я бы постарался избежать. У меня около десяти банок и дюжины собственных библиотек, поэтому я не собираюсь добавлять их вручную каждый раз, когда я тестирую / выпускаю свое приложение. Хм ... может быть, я мог бы взломать его, чтобы делать то, что мне нужно ... хорошо, нужно немного подождать, чтобы получить больше ответов, прежде чем я возьмусь за это. Спасибо. - person nyholku; 21.01.2012
comment
Ба, моя глупая ошибка, извините за шум. Проблема заключалась в том, что в моем Ant-скрипте была задача jstub Ant, которая искажала файл .jar до того, как у launch4j была возможность творить чудеса. Итак, я могу сообщить, что OneJAR и launch4j отлично работают вместе, настоятельно рекомендуется. - person nyholku; 22.01.2012

Решение проблемы, см. Мой комментарий к ответу Гэвина, моя глупая ошибка.

Ба, моя глупая ошибка, извините за шум. Проблема заключалась в том, что в моем Ant-скрипте была задача jstub Ant, которая искажала файл .jar до того, как у launch4j была возможность творить чудеса. Итак, я могу сообщить, что OneJAR и launch4j отлично работают вместе, настоятельно рекомендуется.

person nyholku    schedule 22.01.2012