2012-04-25 1 views
0

У меня есть программное обеспечение JSmooth в моей локальной системе. Я пытаюсь сгенерировать мой файл jar как exe, но я получаю ошибку, когда я нажимаю на запуск exe, который он показывает.Конвертировать Jar в exe с помощью JSmooth - Не удалось найти основной класс

java virtual machine launcher ---> 
    Could not find main class: MainClass .Program will exit. 

Как использовать JSmooth программное обеспечение для создания рабочего исполняемого файла?

+0

Является ли ваш манифест для файла jar правильным классом? –

+0

Можете ли вы щелкнуть по самому файлу JAR и запустить его? Можете ли вы запустить его с помощью java -jar my.jar? –

+0

Приложение. есть (Swing, AWT, SWT ..) GUI? –

ответ

3

Можете ли вы выполнить свой файл jar двойным щелчком по нему? Для любого пакета jar для выполнения потребуется файл с именем MANIFEST.MF, который находится в каталоге META-INF в этом пакете. В этом файле вы можете указать VM, где найти основной метод вашей программы, чтобы начать выполнение. Многие IDE, такие как netbeans по умолчанию, будут генерировать исполняемый файл jar (я имею в виду исполняемый пакет JVM, а не бинарный exe-файл!) При создании вашего проекта.
Я не знаю о JSmooth, но для запуска файла jar вы должны сказать jvm, где найти основной метод. Таким образом, вы можете проверить свой файл банка & ваш MANIFEST.MF должен содержать что-то вроде этого:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.x.x 
Created-By: 1.x.x (Sun Microsystems Inc.) 
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build 
Main-Class: path.to.main.class 
+0

+1 - наиболее вероятная проблема заключается в том, что JAR-файл не был правильно сконструирован как * исполняемый * JAR-файл. И это подойдет JSmooth. –

+0

нет, это небезопасный jar, я даю это JSmooth App, хотя такая же проблема ?. – sateesh

+0

, если это файл jar сгенерированный сетью, убедитесь, что у вас есть основной метод (я имею в виду «public static void main») и вы должны установить класс, содержащий main, в качестве основного класса в свойствах проекта -> run –

1

JSmooth имеет проблему для импорта файлов. Лучше вы можете пойти с инструментом Launch4j. Он отлично работает.

просто скачать его из http://sourceforge.net/projects/launch4j

шаги, чтобы следовать 1. дать любое имя в качестве выходного файла с расширением .exe и выберите YR .jar файл под основной вкладке 2. Упоминание Min JRE версии 1.4.0, как при JRE tab 3. Сохраните его и выполните. Он создает exe-файл.

0

Я обнаружил, что MANIFEST.MF перечислил мой основной класс как «Main», а не «Main.class». Добавление расширения класса исправило это для меня.