Ответ 1
Возможно:)
# On Unix
java -cp utilities.jar:. mypackage.MyClass
# On Windows
java -cp utilities.jar;. mypackage.MyClass
В принципе, просто включив .
(текущий каталог) в путь к классам, а также файл jar.
Итак, я могу сделать это очень хорошо:
java mypackage.MyClass
если ./mypackage/MyClass.class
существует. Я также могу с радостью сделать это:
java -cp myjar.jar mypackage.MyClass
если файл класса существует в соответствующей части банки. Легкий материал. Но я не могу, чтобы жизнь меня могла сделать что-то вроде этого:
java -cp utilities.jar mypackage.MyClass
где ./mypackage/MyClass.class
существует, и где ./utilities.jar
существует (конечно, не содержит MyClass).
Я собираюсь чувствовать себя глупо?
Возможно:)
# On Unix
java -cp utilities.jar:. mypackage.MyClass
# On Windows
java -cp utilities.jar;. mypackage.MyClass
В принципе, просто включив .
(текущий каталог) в путь к классам, а также файл jar.
Попробуйте это, если вы находитесь в Windows:
java -cp .;utilities.jar mypackage.MyClass
Или это, если вы в Linux:
java -cp .:utilities.jar mypackage.MyClass
Текущий каталог не находится в CLASSPATH по умолчанию, когда вы указываете значение для -cp
.
Вы должны включить mypackage.MyClass в параметр CLASSPATH или -cp. Например:
java -cp utilities.jar;myjar.jar mypackage.MyClass
Разделитель путей; на окнах и: на Unix/Linux