2012-05-15 8 views
0

Я создал простой класс с присущими Java-зависимостями (java.io и т. Д.). Я установил свой файл jar и файл bat в той же папке. BAT просто читает:Выполнение Jar-файла с использованием BAT-файла

java -jar "MyApp.jar" 
pause 

Я смог запустить его из нескольких разных мест на моем компьютере. Но когда я отправил его сотруднику в качестве zip-файла, он не смог запустить его, дважды щелкнув файл BAT.

Окно команды вернулся с ошибкой

could not find the main class: MyApp.MyApp. Program will exit. 

Я ткнул вокруг этого сайта, но большинство подобных ошибок включают использование на одном компьютере. Да, на другом компьютере установлена ​​Java 6.29

Любая помощь очень ценится.

+0

Содержит ли приложение. есть графический интерфейс? Если это так, самым «доказательством идиота» для его предоставления другим является использование [Java Web Start] (http://stackoverflow.com/tags/java-web-start/info). –

+0

'java -jar" MyApp.jar "' Использовать 'java -jar MyApp.jar' (без кавычек). –

ответ

3

Два варианта, которые я могу вспомнить с верхней частью моей головы:

1) Он не мог добыл их обоих в тот же каталог (или) после экстракции, он мог бы перемещать файл JAR в другой место нахождения.

2) Его путь к классу не включает текущий каталог. У вашего класса есть «.». (с указанием текущего каталога), пока его нет. Если это так, вы можете, вероятно, изменить свою команду, чтобы включить переключатель «-cp».

+0

Приложение не имеет графического интерфейса, который он просто выполняет в окне консоли. он достал их в тот же каталог, свой рабочий стол. Я использовал netbeans IDE для его разработки, если это помогает. – BigDerpa

0

Для того, чтобы запустить банку таким образом, вам нужна папка META-INF внутри файла манифеста внутри. Файл манифеста нуждается в строке основного класса, указывающей на ваш класс с помощью функции main(). Вероятно, ваша IDE добавила это, но, возможно, в процессе извлечения вещей он тоже распаковал файл jar или что-то «интересное».

http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html

+0

Проблема закончилась проблемой с версией. Я собирал в Java 7, у них была установлена ​​Java 6. Это было исправлено установкой Java 6 из архивов Oracle. а затем настроить JDK1.6 как платформу Java. – BigDerpa

+0

Кроме того, вы можете настроить сценарии IDE или сборки, чтобы настроить 1.6 в формате файла класса, даже когда вы работаете с Java 7. – Jim

Смежные вопросы