Средство запуска Java принимает класс в качестве первого неопционального аргумента для поиска основного метода, который должен быть вызван.
Из документации :
По умолчанию первый неопциональный аргумент - это имя класса, который будет вызван.Следует использовать полное имя класса.Если указана опция -jar, первый аргумент без опции - это имя архива JAR, содержащего файлы классов и ресурсов для приложения, с классом запуска, указанным в заголовке манифеста Main-Class.
Среда выполнения Java выполняет поиск класса запуска и других используемых классов в трех наборах расположений: путь к классу начальной загрузки, установленные расширения и путь к классу пользователя.
Таким образом, вы не можете предоставить p:\Test
в качестве аргумента.Вместо этого измените текущий рабочий каталог на p:\
и выполните java Test
.
. Вы можете использовать пакетный скрипт, чтобы изменить каталог без выполнения этого вручную.Или вы можете упаковать класс в файл JAR (с требуемым манифестом) и предоставить опцию -jar
, чтобы указать абсолютный путь к файлу JAR к исполняемому файлу java
;это предпочтительно, если вы не хотите управлять слишком большим количеством файлов классов.
Редактировать: вы также можете использовать флаг -cp
, как указано @Dave Costa.Это позволит вам избавиться от необходимости менять текущий каталог.