Windows上启动Kafka注意事项之错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_161\lib;D:\Program

问题原由

今天为了方便测试直接在笔记本Windows上启动了kafka,结果报如下错误

E:\software\kafka_2.12-1.0.0\bin\windows>kafka-server-start.bat ....\config\server.properties
错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_161\lib;D:\Program

Windows-start-server.png

问题分析

图上可以分析出,path路径包含空格需要使用引号,而我们的kafka启动文件没有正确处理路径中的空格,于是查看kakfa-server-start.bat,没有发现引用path的地方,但是可以看到它调用了kafka-run-class.bat,继而发现kafka-run-class.bat引用了classpath变量,问题到此就可以解决了。

解决办法

将 set CLASSPATH=%CLASSPATH%;"%~1" 修改为set CLASSPATH="%CLASSPATH%";"%~1"

server-start.png

额外信息

我的kafak 版本信息kafka_2.12-1.0.0。 使用了默认的server.properties, 其中数据是默认在
log.dirs=/tmp/kafka-logs, 我kafka在E盘的E:\software\kafka_2.12-1.0.0,我在E:\software\kafka_2.12-1.0.0\bin\windows路径下启动kafak,数据目录自动在E:\tmp\kafka-logs创建。

default0kafka-data-dir.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容