Пакетный файл для выполнения Java-приложения - PullRequest
0 голосов
/ 22 декабря 2011

У меня есть Java-приложение, которое я хочу, чтобы мой командный файл Windows выполнял. Могу ли я узнать, почему не работают следующие коды командных файлов и как я могу их исправить? Сценарий должен сначала проверить наличие 32-битной Java, прежде чем проверять наличие 64-битной Java.

Я бы также хотел, чтобы мой пакетный файл обрабатывал версии Java 6 и выше и включал среды JRE или JDK. Как бы я изменил свой командный файл, чтобы обработать их.

Пакетный скрипт:

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java" (
    start C:\Program Files (x86)\Java\jre7\bin\java -jar %~dp0\JavaShop.jar
) ELSE (
    IF EXIST "C:\Program Files\Java" C:\Program Files\Java\jre6\bin\java -jar %~dp0\JavaShop.jar
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

Ответы [ 2 ]

6 голосов
/ 22 декабря 2011

Я думаю, что вы проиграли, если попытаетесь предвидеть все возможные пути установки. Конечно, если Java доступна на компьютере, она уже находится на своем пути, то есть доступна через:

java

Также в вашей строке «начало», и если предположить, что жестко заданный путь был достаточно хорошим, вам понадобятся символы «вокруг» из-за пробела в нем.

1 голос
/ 22 декабря 2011

В вашем пути выполнения есть пробелы.Попробуйте это

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java\jre7" (
    start "C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar %~dp0\JavaShop.jar
) ELSE (
    IF EXIST "C:\Program Files\Java\jre6" 
    start "C:\Program Files\Java\jre6\bin\java.exe" -jar %~dp0\JavaShop.jar
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

Лучше всего сделать, хотя бы проверить, установлена ​​ли переменная окружения JAVA_HOME.Если он установлен, то в системе установлена ​​java.

@ECHO OFF 
IF EXIST %JAVA_HOME% (
    start %JAVA_HOME%\bin\java.exe -jar %~dp0\JavaShop.jar
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

Если у вас нет набора JAVA_HOME, вы можете просто попробовать саму команду java.

@ECHO OFF 
IF EXIST java (
    start java -jar %~dp0\JavaShop.jar
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)
...