пакетный файл для запуска jar-файл с параметрами
как запустить пакетный файл и передать параметры в jar-файл?
это не работает
mybat.летучая мышь!--9-->
java -jar log_parser.jar %1 %2 %3 %4
запуск bat-файла
C:>log_parser.bat -file=C:trace_small.log -str=Storing
java видит только -file
4 ответов
Я просто попытался с небольшой программой java, которая только сбрасывает аргументы на экран:
public static void main(String[] args)
{
for(String s : args)
{
System.out.println(s);
}
}
и следующий пакетный файл :
java -jar test.jar %1 %2 %3 %4
и я закончил со следующим результатом
-file
C:\trace_small.log
-str
Storing
для той же командной строки, что и вы... знак равенства '=' desapeared. Теперь, если вы trun пакетный файл к этому:
java -jar test.jar %*
вы получите еще один результат (который может быть то, что вы ожидали - не понятно)
-file=C:\trace_small.log
-str=Storing
в преимущество этого синтаксиса %* в том, что он более расширяем, принимая любое количество аргументов.
надеюсь, это поможет, но я рекомендую вам взглянуть на свой код и добавить некоторые инструкции отладки, чтобы понять, где вы "теряете" некоторую часть ввода.
1) Вы можете попробовать использовать
" - Dfile=C:\trace_small.бревно -Области=Хранение"
переменные будут установлены как системное свойство Java, но не как параметры в main-метод.
2) Попробуйте поставить аргументы без '='
log_parser.Bat-файл C:\trace_small.log-str хранение
в моем случае я использую следующий bat-файл:
@echo off
PATH_TO_JRE\bin\java.exe -jar -Denable=true your_file.jar
в этом конкретном случае в коде java я могу получить параметр "enable" следующим образом:
Boolean.getBoolean("enable")
например, открытие редактора карт улиц в Windows 10 x64
> cd "C:\Program Files\Java\jre1.8.0_161\bin\"
> javaw.exe -Xmx2048m -jar "C:\Program Files (x86)\JOSM\josm-tested.jar"