Подтвердить что ты не робот

Как запустить класс java с банкой в ​​пути к классам?

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

java mypackage.MyClass

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

java -cp myjar.jar mypackage.MyClass

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

java -cp utilities.jar mypackage.MyClass

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

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

4b9b3361

Ответ 1

Возможно:)

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

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

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

Ответ 2

Попробуйте это, если вы находитесь в Windows:

java -cp .;utilities.jar mypackage.MyClass

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

java -cp .:utilities.jar mypackage.MyClass

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

Ответ 3

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

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

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