spoon闪退不报错问题

本文记录了解决Spoon在Windows上启动后闪退但不报错的问题。通过对比同事的启动日志和分析bat脚本,发现可能是由于系统位数判断错误导致。经过修改Spoon.bat的内存配置和强制设置位数判断为64位,成功解决了图形界面无法打开的问题。最后发现实际原因是公司加密软件的影响。

时间: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,就能打开图形界面了。
至于为什么我电脑会出现这个问题,不了解。

补充

出现该问题的原因:因为公司有加密软件导致的。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值