.exe от launch4j работает, но не на всех компах

Я оборачиваю JAR-файл своего Java-проекта в .exe-файл с помощью launch4j, который отлично работает на моих машинах для разработки и на нескольких других компьютерах. Однако один пользователь сообщил, что не может запустить файл .exe на своем компьютере, о чем ему сообщает всплывающее сообщение.

Could not find the main class.

Интересно, что пользователь может запустить файл JAR непосредственно на том же компьютере, либо вызвав его через java -jar из командной строки, либо напрямую, дважды щелкнув файл JAR в проводнике Windows (или с помощью ярлыка). Этот пользователь установил последнюю версию JRE.

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

Поэтому я предполагаю, что проблема где-то в моей конфигурации launch4j. Там я не указал пользовательский файл манифеста, только входной файл JAR и выходной файл .exe.

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

Есть идеи?


person Matthias    schedule 04.05.2013    source источник
comment
Есть ли какие-то шаблоны на машинах, на которых он не работает? Определенные версии Windows или, например, 32/64 бит?   -  person Michael Berry    schedule 04.05.2013
comment
@berry120: У меня была такая же мысль, но трудно сказать. Файл exe отлично работает на нескольких сотнях компьютеров с Windows, это первый пользователь, который сообщает об ошибке htis. Так что нет, я еще не мог найти какой-либо шаблон.   -  person Matthias    schedule 04.05.2013


Ответы (2)


Мы только что обнаружили проблему с одной клиентской машиной. У него была установлена ​​64-битная версия JRE, которая вызывала проблему. После замены на 32-битную версию JRE файл .exe можно снова правильно запустить.

person Matthias    schedule 04.05.2013
comment
@Marco, по моему опыту, Launch4J exe отлично справляется с 64-битными JRE. Может быть, просто OP нужно перестроить свой exe с более современной версией L4J. - person Ian Roberts; 05.05.2013
comment
Я использую последнюю (релизную, то есть не бета-версию) версию L4J. Есть ли лучшая альтернатива? - person Matthias; 05.05.2013

Да, даже я столкнулся с этой проблемой. Я использовал jar2Exe вместо launch4j. Он работает нормально. Лучше используйте его.

person Hema Chandra    schedule 01.03.2017