start / b javaw с пользовательским путем к домашней проблеме java - PullRequest
0 голосов
/ 02 июля 2018

Я пишу пакетный скрипт 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%

Есть ли способ решить эту проблему?

1 Ответ

0 голосов
/ 02 июля 2018

Start видит "%CUSTOM_JAVA_HOME%/bin/javaw" в качестве заголовка.

Исправление состоит в том, чтобы включить заголовок самостоятельно, даже пустой:

Start "" /B "%CUSTOM_JAVA_HOME%\bin\javaw" %RUN_OPTS%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...