Изменяет ли параметр java -jar параметры пути к классам

У меня есть jar-файл, в котором упоминается основной класс в манифесте. Когда я пытаюсь выполнить jar с помощью следующей команды

java -cp .;./* com.foo.MainClass

, код выполняется и работает.

Когда я пытаюсь запустить jar-файл с помощью следующей команды

java -cp .;./* -jar myjar.jar

, я получаю выполнение не найденного класса для некоторых jar-файлов, находящихся в той же папке, что и myjar.jar. Я надеюсь, что опция -cp включит эти jar-файлы в путь к классам. Я изменил свой код, чтобы напечатать свойство java.class.path. В первом случае он перечислял все jar-файлы в текущем каталоге, во втором - просто перечислял myjar.jar

. Я также изменил манифест, добавив к нему элемент Class-Path со всеми jar-файлами. Тогда работает вторая команда. Но в моем коде я пытаюсь загрузить класс aribtrary, имя которого указано в командной строке, поэтому я хочу, чтобы путь к классу содержал все банки в папке. Как заставить вторую команду работать в этом сценарии?

6
задан mihirg 6 December 2011 в 06:20
поделиться