KOHGYLW/kiftd

关于kiftd开启后不能启动服务

Opened this issue · 3 comments

(已解决)
我在使用kiftd的过程中遇到了问题,Jar可以正确打开,但是点击“开启“后却无法启动服务,提示信息为:

[2021-04-18 12:06:27]启动服务器...
[2021-04-18 12:06:27]正在初始化服务器设置...
[2021-04-18 12:06:27]正在检查服务器配置...
[2021-04-18 12:06:27]检查完毕。
[2021-04-18 12:06:27]正在开启服务器引擎...
[2021-04-18 12:06:27]KIFT无法启动,请检查设置或查看异常信息

而我什么也没有做,只是解压后再运行。我电脑上的jre是jre1.8,同时也有jdk16(虽然好像用不到)。我改了各种各样的端口,常见的不常见的端口都试过了,但没有任何变化。上面的输出信息里说“查看异常信息”,但是我一直没找见异常信息在哪里。说明文档里说的日志的目录中也没有klog为后缀的文件。

已解决,来更新一下。
我的电脑之前一直没配Java,没有jre和jdk,然后今天为了用这个软件才装了java。不过我想的是以后应该会进行java开发,就先装了jdk,然后才装的jre。配好环境后,打开kiftd,出现了上面的问题。我在虚拟机里装了jre,试了一下,可以正常启动服务,这说明这个版本是没问题的。经过很多其他的实验后我突然想到虚拟机和我的电脑之间的差别就是前者没有jdk,于是我把电脑上的jdk和jre全部卸载,然后先装jre,果然,成功启动了服务,可以正常使用了。确保可以使用后,我安装了jdk,依然可以使用。于是我得出基本的结论是,jdk作为java开发工具包,在先安装的情况下,jdk/bin里面的java.exe、javaw.exe会直接接管jar(也就是java应用程序),毕竟jar也可以是java开发的过程中用到的包,但我们现在不是要做开发,而是运行开发好的java程序,所以应该让jre/bin里面的java.exe、javaw.exe打开jar。这是我自己的情况,有类似情况的小伙伴可以参考一下。

我又试验了一下,我现在基本确定原因了。最新的jdk是jdk16,这个jdk已经自带jre了,不过版本和最新的能下载到的jre版本不一样,而且貌似是版本更新。说白了,就是开发工具包jdk中自带的jre会抢占单独安装的jre去接管jar程序,而这个版本的kiftd貌似不支持jdk16中的jre,所以想用这个软件的话看来是不能装jdk了

非常感谢您将自己的解决方法分享出来,这样便可以让有相同问题的用户参考~