Как запустить Java-класс с банкой в ​​classpath? - PullRequest
22 голосов
/ 20 июня 2011

Итак, я могу сделать это очень хорошо:

java mypackage.MyClass

, если существует ./mypackage/MyClass.class.Я также могу с радостью сделать это:

java -cp myjar.jar mypackage.MyClass

, если файл класса существует в соответствующей части банки.Легкие вещи.Но я не могу за свою жизнь сделать что-то вроде этого:

java -cp utilities.jar mypackage.MyClass

, где существует ./mypackage/MyClass.class, и где существует ./utilities.jar (конечно, без MyClass).

Я собираюсь чувствовать себя глупо?

Ответы [ 3 ]

49 голосов
/ 20 июня 2011

Возможно:)

# On Unix
java -cp utilities.jar:. mypackage.MyClass

# On Windows
java -cp utilities.jar;. mypackage.MyClass

В основном это просто . (текущий каталог) на пути к классам, а также файл jar.

7 голосов
/ 20 июня 2011

Попробуйте, если вы используете Windows:

java -cp .;utilities.jar mypackage.MyClass

Или это, если вы работаете в Linux:

java -cp .:utilities.jar mypackage.MyClass

Текущий каталог не находится в CLASSPATH по умолчанию, когда вы указываете значение для -cp.

0 голосов
/ 20 июня 2011

Вы должны включить mypackage.MyClass в CLASSPATH или параметр -cp.Например:

java -cp utilities.jar;myjar.jar mypackage.MyClass

Разделитель пути;на окнах и: на Unix / Linux

...