Выполнить Java из командной строки - PullRequest
7 голосов
/ 19 ноября 2010

У меня есть папка на рабочем столе под названием «Материал», и в этой папке у меня есть следующее:

  • Hello.java
  • mail.jar

И Hello.java импортирует из mail.jar, поэтому мне нужно сказать Hello.java искать mail.jar.

Как скомпилировать из командной строки Windows и из командной строки unix, как мне скомпилироватьэто и запустить это?

Ответы [ 3 ]

14 голосов
/ 19 ноября 2010

Компиляция:

javac -cp .;mail.jar Hello.java

, где ; для Windows;используйте : для * nix.

и запустите:

java -cp .;mail.jar Hello

где снова, используйте ; для Windows и : для * nix.

-cp сообщает обоим javac и java, что classpath использовать, и поскольку ваши файлы находятся в локальном каталоге, где вы выполняете команду, вы можете использовать . для части Hello иназвание банки для дорожек внутри банки.В Википедии есть достойная статья о classpaths .

Имейте в виду, если вы собираетесь делать это на регулярной основе, вы можете установить переменную окружения CLASSPATH вместопостоянно используя флаг -cpjava, и javac используют переменную CLASSPATH.

Для моей собственной машины разработки для удобства я фактически включаю . в свою переменную CLASSPATH.Это не то, что я хотел бы сделать на рабочей или сборочной / тестовой коробке, но это очень удобно для целей разработки.Вам бы тоже хотелось, чтобы в ней были ваши обычные банки.

2 голосов
/ 19 ноября 2010

При условии, что Hello.java не содержит декларации пакета, в Windows:

javac -cp mail.jar Hello.java
java -cp mail.jar;. Hello

Единственное отличие на платформах Unix состоит в том, что вы разделяете элементы пути к классам через точку с запятой вместо точки с запятой:

java -cp mail.jar:. Hello
0 голосов
/ 19 ноября 2010

Следуйте этому руководству, и вы сможете сделать это в кратчайшие сроки:

Компиляция Java

У вас также не должно быть проблем с classpath, потому чтоваши занятия находятся в одной папке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...