У меня есть 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, имя которого указано в командной строке, поэтому я хочу, чтобы путь к классу содержал все банки в папке. Как заставить вторую команду работать в этом сценарии?