jdkman
jdkman copied to clipboard
部分程序提示无法找到 javaw.exe
你好,使用jdkman后其他正常,但是 使用 spoon工具时,打开spoon.bat 会提示找不到 javaw.exe
下面是spoon.bat程序自带的bat脚本的内容:
` @echo off
REM ***************************************************************************** REM REM Pentaho Data Integration REM REM Copyright (C) 2005 - 2022 by Hitachi Vantara : http://www.hitachivantara.com REM REM ***************************************************************************** REM REM Licensed under the Apache License, Version 2.0 (the "License"); REM you may not use this file except in compliance with REM the License. You may obtain a copy of the License at REM REM http://www.apache.org/licenses/LICENSE-2.0 REM REM Unless required by applicable law or agreed to in writing, software REM distributed under the License is distributed on an "AS IS" BASIS, REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. REM See the License for the specific language governing permissions and REM limitations under the License. REM REM *****************************************************************************
setlocal
cd /D %~dp0
REM ************************************************** REM ** Set console window properties ** REM ************************************************** REM TITLE Spoon console REM COLOR F0
:: ************************************************** :: ** Kettle home ** :: **************************************************
if "%KETTLE_DIR%"=="" set KETTLE_DIR=%~dp0 if %KETTLE_DIR:~-1%==\ set KETTLE_DIR=%KETTLE_DIR:~0,-1%
cd %KETTLE_DIR%
REM Special console/debug options when called from SpoonConsole.bat or SpoonDebug.bat if "%SPOON_CONSOLE%"=="1" set PENTAHO_JAVA=java.exe if not "%SPOON_CONSOLE%"=="1" set PENTAHO_JAVA=javaw.exe set IS64BITJAVA=0
call "%~dp0set-pentaho-env.bat"
REM ************************************************** REM Platform Specific SWT ** REM **************************************************
REM The following line is predicated on the 64-bit Sun REM java output from -version which REM looks like this (at the time of this writing): REM REM java version "1.6.0_17" REM Java(TM) SE Runtime Environment (build 1.6.0_17-b04) REM Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode) REM REM Below is a logic to find the directory where java can found. We will REM temporarily change the directory to that folder where we can run java there pushd "%_PENTAHO_JAVA_HOME%" if exist java.exe goto USEJAVAFROMPENTAHOJAVAHOME cd bin if exist java.exe goto USEJAVAFROMPENTAHOJAVAHOME popd pushd "%_PENTAHO_JAVA_HOME%\jre\bin" if exist java.exe goto USEJAVAFROMPATH goto USEJAVAFROMPATH :USEJAVAFROMPENTAHOJAVAHOME FOR /F %%a IN ('.\java.exe -version 2^>^&1^|%windir%\system32\find /C "64-Bit"') DO (SET /a IS64BITJAVA=%%a) FOR /F %%a IN ('.\java.exe -version 2^>^&1^|%windir%\system32\find /C "version ""1.8."') DO (SET /a ISJAVA8=%%a) GOTO CHECK32VS64BITJAVA :USEJAVAFROMPATH FOR /F %%a IN ('java -version 2^>^&1^|%windir%\system32\find /C "64-Bit"') DO (SET /a IS64BITJAVA=%%a) FOR /F %%a IN ('java -version 2^>^&1^|%windir%\system32\find /C "version ""1.8."') DO (SET /a ISJAVA8=%%a) GOTO CHECK32VS64BITJAVA :CHECK32VS64BITJAVA
IF %IS64BITJAVA% == 1 GOTO :USE64
:USE32 REM =========================================== REM Using 32bit Java, so include 32bit SWT Jar REM =========================================== set LIBSPATH=libswt\win32 GOTO :CONTINUE :USE64 REM =========================================== REM Using 64bit java, so include 64bit SWT Jar REM =========================================== set LIBSPATH=libswt\win64 set SWTJAR=..\libswt\win64 :CONTINUE popd
REM ************************************************** REM ** Setup Karaf endorsed libraries directory ** REM ************************************************** set JAVA_ENDORSED_DIRS= set JAVA_LOCALE_COMPAT= set JAVA_ADD_OPENS= IF NOT %ISJAVA8% == 1 GOTO :SKIPENDORSEDJARS
if not "%_PENTAHO_JAVA_HOME%" == "" set JAVA_ENDORSED_DIRS=%_PENTAHO_JAVA_HOME%\jre\lib\endorsed;%_PENTAHO_JAVA_HOME%\lib\endorsed; set JAVA_ENDORSED_DIRS="-Djava.endorsed.dirs=%JAVA_ENDORSED_DIRS%%KETTLE_DIR%\system\karaf\lib\endorsed" GOTO :COLLECTARGUMENTS
:SKIPENDORSEDJARS REM required for Java 11 date/time formatting backwards compatibility set JAVA_LOCALE_COMPAT=-Djava.locale.providers=COMPAT,SPI set JAVA_ADD_OPENS=--add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.jar=ALL-UNNAMED
:COLLECTARGUMENTS REM ********************** REM Collect arguments REM **********************
set _cmdline= :TopArg if %1!==! goto EndArg set _cmdline=%_cmdline% %1 shift goto TopArg :EndArg
REM ****************************************************************** REM ** Set java runtime options ** REM ** Change 2048m to higher values in case you run out of memory ** REM ** or set the PENTAHO_DI_JAVA_OPTIONS environment variable ** REM ******************************************************************
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m"
set OPT=%OPT% %PENTAHO_DI_JAVA_OPTIONS% "-Djava.library.path=%LIBSPATH%;%HADOOP_HOME%/bin" %JAVA_ENDORSED_DIRS% %JAVA_LOCALE_COMPAT% "-DKETTLE_HOME=%KETTLE_HOME%" "-DKETTLE_REPOSITORY=%KETTLE_REPOSITORY%" "-DKETTLE_USER=%KETTLE_USER%" "-DKETTLE_PASSWORD=%KETTLE_PASSWORD%" "-DKETTLE_PLUGIN_PACKAGES=%KETTLE_PLUGIN_PACKAGES%" "-DKETTLE_LOG_SIZE_LIMIT=%KETTLE_LOG_SIZE_LIMIT%" "-DKETTLE_JNDI_ROOT=%KETTLE_JNDI_ROOT%"
REM *************** REM ** Run... ** REM ***************
if %STARTTITLE%!==! SET STARTTITLE="Spoon" REM Eventually call java instead of javaw and do not run in a separate window if not "%SPOON_CONSOLE%"=="1" set SPOON_START_OPTION=start %STARTTITLE%
@echo on %SPOON_START_OPTION% "%_PENTAHO_JAVA%" %JAVA_ADD_OPENS% %OPT% -jar launcher\launcher.jar -lib ..%LIBSPATH% %_cmdline% @echo off if "%SPOON_PAUSE%"=="1" pause `