Запустите Jar связанные .Java из CMD - PullRequest
1 голос
/ 15 сентября 2011

Я пытаюсь сделать "javac Classname.java" из команды cmd, и для этого Classname.java требуются библиотеки / jars Jfreechart, и он работает нормально, если скомпилирован из eclipse (потому что пакет проекта имеет импортированные jars).Но я хочу запустить файл из командной строки, и он не может показать мне вывод.Он приходит с ошибками, такими как: («пакет не существует»), как это исправить.Мне нужен файл класса, а также запустить команды JNI для создания файла заголовка.Пожалуйста, помогите мне.Спасибо .

Ответы [ 4 ]

3 голосов
/ 15 сентября 2011

Вам необходимо установить classpath .

. Это можно сделать двумя способами.Либо используйте параметр -classpath или -cp:

javac -cp jar1.jar;path/to/jar2.jar Classname.java

, либо, если он требуется для сохранения, используйте переменную окружения CLASSPATH:

set CLASSPATH=path1;path2
javac Classname.java
3 голосов
/ 15 сентября 2011

Если вам уже удалось запустить свой код в Eclipse, то Eclipse может вам помочь.

В представлении «Отладка» после запуска кода должно быть что-то вроде этого:

Screenshot of Debug view

Если щелкнуть правой кнопкой мыши нижний «прекращенный» текст и выбрать «Свойства», вы получите нечто вроде этого:

enter image description here

Вы можете скопировать содержимое командной строки и использовать его для запуска своего приложения из командной строки или использовать его для установки пути к классам, как советовали другие ответы.

0 голосов
/ 15 сентября 2011

Ответ Пола Грайма - то, что вам нужно, но вы должны проверить эту ссылку и понять концепцию classloder.

0 голосов
/ 15 сентября 2011

Вам просто нужно добавить пути к каталогам и / или библиотекам .jar в аргумент командной строки "-classpath".

В зависимости от того, сколько у вас библиотек, вы можете получить файл .sh (Linux) или .cmd (windows), который выглядит примерно так:

http://ubuntuforums.org/showthread.php?t=230258

java -cp jts.jar:jcommon-1.0.0.jar:jfreechart-1.0.0.jar:jhall.jar:other.jar:rss.jar -Xmx256M jclient.LoginFrame .

Если вы работаете в Windows, вы бы использовали ";" в качестве разделителя (вместо * nix ":").

Надеюсь, это поможет!

...