时间:2020-10-15 13:47:51
一、问题
川子给的spoon的免安装版本在我电脑上执行spoon.bat后闪退,通过cmd执行没有报错。其他同事执行都可以。
二、查找原因
方法一:百度
原文地址:https://www.cnblogs.com/espooky/p/6007326.html\
1、Java环境配置问题:
java_home:D:\Program Files\Java\jdk1.7.0_25(安装jdk路径)
classpath:.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar
path:在path路径中添加%java_home%\bin;%java_home%\jre\bin;
kettle_home:D:\Program Files\data-integration(安装kettle路径)
2、Java版本太低了,jdk1.6以上版本才行,具体的可以查看spoon.bat配置文件。
3、Java环境配置对了,但是双击spoon.bat后一闪就没了,修改一下spoon.bat里内存配置:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m" "-XX:MaxPermSize=256m"
改为
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"
修改之后保存,重新启动spoon.bat即可解决问题。
通过尝试,以上均没有效果
方法二:比对同事的启动日志
唯一可疑的地方是我启动是win32,其他人启动都是win64,我电脑也是win64位的,这里可能有问题。
尝试查看spoon.bat,通过查看spoon.bat,查看启动的顺序,定位win32出现的位置。
写batTest.bat测试猜测地方的输出语句是什么。
@echo off
echo 'java -version 2^>^&1^|%windir%\system32\find /C "64-Bit"'
FOR /F %%a IN ('java -version 2^>^&1^|%windir%\system32\find /C "64-Bit"') DO (echo %%a)
FOR /F %%a IN ('java -version 2^>^&1^|%windir%\system32\find /C "64-Bit"') DO (SET /a AAAAAA=1)
IF %AAAAAA% == 1 (echo '1') else echo '0'
输出结果:
java -version 2>&1^|%windir%\system32\find /C “64-Bit”
1
[0x7FFE91B0C980]
‘0’
总结
根据上面测试的输出结果,得到结论,因为出现的结果比1多了,导致出现了进不到64位的问题,所以导致图形界面打不开。
解决办法:
spoon.bat中,强制把输出的地方置1,就能打开图形界面了。
至于为什么我电脑会出现这个问题,不了解。
补充
出现该问题的原因:因为公司有加密软件导致的。
本文记录了解决Spoon在Windows上启动后闪退但不报错的问题。通过对比同事的启动日志和分析bat脚本,发现可能是由于系统位数判断错误导致。经过修改Spoon.bat的内存配置和强制设置位数判断为64位,成功解决了图形界面无法打开的问题。最后发现实际原因是公司加密软件的影响。
6921

被折叠的 条评论
为什么被折叠?



