记录kettle spoon.bat 无法启动 (系统找不到指定的路径。) 只有无限接近死亡 才能领悟真滴

先写解决方案

错误信息
DEBUG: Using value () from calling script
DEBUG: _PENTAHO_JAVA_HOME=
DEBUG: _PENTAHO_JAVA=\bin\javaw.exe
系统找不到指定的路径。
系统找不到指定的路径。

前提,没有在spoon.bat 做任何改变
环境变量中有KETTLE_HOME只想kettle安装目录
将pdi文件夹下的set-pentaho-env.bat中的
(请提前建立文件副本哦)

:checkPentahoJavaHome
if exist "%~1\bin\%__LAUNCHER%" goto gotValueFromCaller
if not "%PENTAHO_JAVA_HOME%" == "" goto gotPentahoJavaHome
if exist "%~dp0jre\bin\%__LAUNCHER%" goto gotJreCurrentFolder
if exist "%~dp0java\bin\%__LAUNCHER%" goto gotJavaCurrentFolder
if exist "%~dp0..\jre\bin\%__LAUNCHER%" goto gotJreOneFolderUp
if exist "%~dp0..\java\bin\%__LAUNCHER%" goto gotJavaOneFolderUp
if exist "%~dp0..\..\jre\bin\%__LAUNCHER%" goto gotJreTwoFolderUp
if exist "%~dp0..\..\java\bin\%__LAUNCHER%" goto gotJavaTwoFolderUp
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome

# 修改为

:checkPentahoJavaHome

if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome

在看我瞎比比

前提
是我们的项目需要用这个可恶的kettle。

在第一次使用的时候我成功的启动了。

于是乎,在使用一次后,每次,初体验结束,spoon开始抗拒我了。从网上找到无数种解决方案,都无法挽回他,还好一直用服务器上的kettle。知道今天,任务开始没那么多了,我再次想要挽回他。
尝试过的方法有:
卸载所有jdk,重装jdk8
在spoon.bat中设置变量

进入正题,读了spoon.bat中的脚本语言后,发现在spoon.bat中跳转到另一个批处理文件,

call "%~dp0set-pentaho-env.bat"

这个批处理文件就是为了定位我们的java位置,中间的重重判定有一句有问题,无法定位到我的jdk

:checkPentahoJavaHome
if exist "%~1\bin\%__LAUNCHER%" goto gotValueFromCaller
if not "%PENTAHO_JAVA_HOME%" == "" goto gotPentahoJavaHome
if exist "%~dp0jre\bin\%__LAUNCHER%" goto gotJreCurrentFolder
if exist "%~dp0java\bin\%__LAUNCHER%" goto gotJavaCurrentFolder
if exist "%~dp0..\jre\bin\%__LAUNCHER%" goto gotJreOneFolderUp
if exist "%~dp0..\java\bin\%__LAUNCHER%" goto gotJavaOneFolderUp
if exist "%~dp0..\..\jre\bin\%__LAUNCHER%" goto gotJreTwoFolderUp
if exist "%~dp0..\..\java\bin\%__LAUNCHER%" goto gotJavaTwoFolderUp
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome

我的很奇怪的定位到了第一个判定也就是gotValueFromCaller中去了,实际上当我们定义了java_home环境变量后,一般是跳进gotJdkHome方法中的。从系统变量中获取值所以我直接把上面的全部删掉了,这样就不会让它判定进入其他分支了。

好的,今天很开心,如果有问题可以提出哦。希望可以帮到你

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值