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, возможно, с некоторыми дополнительными ответами.
Ура!