Я пишу пакетный скрипт Windows для запуска моей Java-программы в фоновом режиме, используя javaw.
Проблема возникает, когда я предоставляю пользователю собственный путь к Java Home. Скажем, в примере, когда путь к домашней странице Java: C:\Users\Sample User\Desktop\java
(обратите внимание на пробел в пути), когда я пытаюсь выполнить команду запуска, она ломается из-за пробелов.
Пример:
@echo off
set CUSTOM_JAVA_HOME=C:\Users\Federico Einhorn\Desktop\java
set CP=myjar.jar;../lib/*;.
set JAVA_PARAMS=-myOption -Xmx1024M -classpath %CP%
set JAVA_CLASS=com.myorg.MyClass
set RUN_OPTS=%JAVA_PARAMS% %JAVA_CLASS% start
start /b "%CUSTOM_JAVA_HOME%/bin/javaw" %RUN_OPTS%
Эта команда start
не выполнена, так как CUSTOM_JAVA_HOME
содержит пробелы.
Windows не может найти '-myOption'. Убедитесь, что вы ввели имя
правильно, а затем повторите попытку.
Этого не происходит, когда я запускаю банку с обычной java:
"%CUSTOM_JAVA_HOME%/bin/java" %RUN_OPTS%
Есть ли способ решить эту проблему?