2014-02-15 3 views
0

Привет Я написал программу wordquiz на Java. Использование Eclipse в Unix. В моей машине Linux это работает отлично. Вот исходный код https://github.com/HighlanderGe/Words Итак, используется только базовый пакет. В Windows компиляция такого кода как jar не запускается. Ни в Mac. Как я предполагаю, проблема в том, что в Linux это делается для запуска с консоли, а консоль - это очень родная для Linux, но в Windows и я думаю, что в Mac тоже нужно вызывать cmd, а оттуда ее как-то запускать .. но я уверен, что cmd не знает, что такое java. Так нужна какая-то консоль java?Java - как запустить консольную программу в windows

+0

Вы пытались экспортировать исполняемую банку и запускать ее на любой другой платформе? Это обычно работает. –

+1

Вы пытались запустить cmd.exe, перейдите в нужный каталог, а затем введите 'java -jar myjar.jar' или' java -cp myjar.jar my.main.Class'? Что случилось? –

+0

Вы установили java на свои окна? – Chronicle

ответ

1

Проблема не в Mac или Windows, проблема в том, что вы не настраивали рабочее пространство в Eclipse одинаково на разных компьютерах.

Вы можете создать свою программу в командной строке во всех средах таким же образом. Вам просто нужно знать правильные шаги.

Прежде всего, в вашем коде в строке 25 есть WordDatabase. Вместо того, чтобы:

dictionary = new ArrayList<>(); 

должно быть:

dictionary = new ArrayList<String>(); 

После этого, вы можете создать свой код так:

javac -d . *.java 

И запустить его так:

java wordquizz/Wordquizz 

Это должно работать в любой системе с Java, вам просто нужно выяснить, как настроить рабочее пространство в Eclipse одинаково на разных компьютерах.

UPDATE

Я раздвоенный и превращали свой проект в проект Maven:

https://github.com/janosgyerik/StackOverflow-Words

После того, как вы клонировать это на ваш компьютер, вы можете импортировать в Eclipse, используя File | Импортируйте ... меню, а затем Существующие проекты Maven. Он должен работать на всех операционных системах.

Maven - рекомендуемый инструмент для создания проектов Java, и это хорошая вещь, чтобы учиться.После установки Maven, вы можете создать проект с:

mvn compile 

Вы можете упаковать проект в jar файл с:

mvn package 

Вы можете запустить свой код с любой из этих команд:

# needs 'mvn compile' first to generate classes 
java -cp target/classes/ wordquizz.Wordquizz 

# needs 'mvn package' first to generate the jar 
java -cp target/wordquizz-1.0-SNAPSHOT.jar wordquizz.Wordquizz 

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

UPDATE 2

Чтобы сделать банку исполняемый файл, вам нужно добавить в файл манифеста, как это:

Main-Class: wordquizz.Wordquizz 

Вы создаете файл банку с командой, как это:

jar cvfm package.jar manifest.txt wordquizz/*.class 

Я обновил свой репозиторий GitHub, так что теперь, если вы запустите mvn package, он автоматически добавит правильные проявления t, и сгенерированный файл jar будет исполняемым.

+0

Спасибо за ответ, теперь исправлено ... Текущая проблема заключается в том, чтобы сделать один exe-файл для запуска cmd и выполнить команду java -jar myjar.jar – Tsiskreli

+0

Не делайте этого. Используйте встроенную оболочку, которая вставляет .jar при компиляции в собственный код с помощью коммерческого продукта, такого как Excelsior Jet. – SevenBits

0

Если вы установили java под окнами, вам нужно настроить переменную Path, поэтому cmd знает, где находится исполняемый файл java. Хороший учебник о том, как настроить это вы можете найти здесь:

http://docs.oracle.com/javase/tutorial/essential/environment/paths.html

После этого вы можете просто идти в каталог исходный код находится в и использовать одни и те же команды, что и под Linux для компиляции и запуска заявление.

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