gigaspaces gs.bat не может выполнить команду Java

Я пытаюсь выполнить gigaspaces 9.7.1-ga-b10800 gs-agent.bat (который в свою очередь вызывает gs.bat) с Java 1.7.0_55-b13. С эхом я проследил проблему на линии

%COMMAND%

от gs.bat.
Я что-то пропустил? Есть ли место, где я могу проверить совместимость некоторых версий gigaspaces и java?
Java-версия 1.6 прекрасно работает с этой версией гигапространств.
Я прочитал это:

Обратите внимание, что начиная с версии 8.0, GigaSpaces XAP больше не будет поддерживать Java 1.5 SDK и потребует использования Java 1.6 SDK или выше. Подробнее о Java 1.4 и 1.5 SDK EOL см. На следующей странице: http://java.sun.com/products/archive/eol.policy.html

Но это ничего не говорит о Java 7 и Gigaspaces 9.7.1.

Точная команда ([SOME...] представляет некоторую другую строку):

"C:\Program Files\Java\jdk1.7.0_55\bin\java"  -server -XX:+AggressiveOpts -showversion -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx512m -Dcom.sun.jini.reggie.initialUnicastDiscoveryPort=4169 -Dcom.gs.deploy=[SOME-PATH-TO-GS-HOME]/deploy -DagentId= -DgsaServiceID= -DenableDynamicLocators= -Xbootclasspath/p:"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\\lib\platform\xml\*" -cp ;"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\";"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\\lib\platform\sigar\*;";"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\\lib\platform\boot\gs-boot.jar"; -Dsun.rmi.dgc.client.gcInterval=36000000 -Dsun.rmi.dgc.server.gcInterval=36000000 -Djava.rmi.server.hostname=""[SOMETHING]"" -Djava.rmi.server.RMIClassLoaderSpi=default -Djava.rmi.server.logCalls=false -Dcom.gs.jini_lus.locators=null -Dcom.gs.jini_lus.groups=[SOMETHING] -Dcom.gs.logging.debug=false -Djava.util.logging.config.file="[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\/config/gs_logging.properties" com.gigaspaces.start.SystemBoot com.gigaspaces.start.services=\"GSA\" gsa.gsc 0 gsa.global.gsm 0 gsa.lus 1

Вывод отображает следующее:

Java-версия "1.7.0_55" Java(TM) SE
Среда выполнения (сборка 1.7.0_55-b13)
Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 24.55-b03, смешанный режим)

Использование: java [-options] class [args...]
(выполнить класс) или java [-options] -jar jarfile [args...]
(выполнить файл JAR)

где варианты включают в себя:
-d32 использовать 32-битную модель данных, если она доступна
и т.п.

С наилучшими пожеланиями,
деспот

1 ответ

Решение

По какой-то причине Java 7 не нравится этот путь:

\tools\groovy\bin\..\..\..\

при дальнейшем расследовании я обнаружил, что JSHOMEDIR устанавливается на

[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\

поэтому в setenv.bat я поместил

set JSHOMEDIR=%~dp0\..

перед строкой:

if "%JSHOMEDIR%" == "" set JSHOMEDIR=%~dp0\..

По какой-то причине установка переменной среды (система / пользователь) не изменила значение JSHOMEDIR (и да, я перезапустил cmd).

Также есть такой же дублированный пост на сайте ask.gigaspaces.org, возможно, с некоторыми дополнительными ответами.

Ура!

Другие вопросы по тегам