logstash找不到或无法加载主类

感谢 Zparkle提供的答案
本文相当于转载,如果解决了问题可以为原文作者点赞~

写在前面:

  1. 本问题应该仅会发生在windows系统
  2. Logstash 版本为6.x.x可能会发生这个问题,别的版本我不知道
  3. 此文仅能解决无法加载主类后面出现路径顺序混乱 Files\jdkx.x.x\lib;C:Programs这种情况,如果有别的情况导致此问题这篇文章可能解决不了
  4. 改任何配置文件记得备份哦

解决方案:

找到 logstash\bin\logstash.bat
将这一行
%JAVA% %JAVA_OPTS% -cp %CLASSPATH% org.logstash.Logstash %*
改成
%JAVA% %JAVA_OPTS% -cp "%CLASSPATH%" org.logstash.Logstash %*
实际上就是个双引号的区别

问题发生的原因

一般大家java都装在 program files 底下了吧,环境变量的 %CLASSPATH% 是不是 %JAVA_HOME%\lib ?
我的 %JAVA_HOME%C:\Program Files\Java\Jdk xx.xx.xx
可以试着写这么一个bat文件
起名: 测试空格.bat

echo %JAVA_HOME%
echo "%JAVA_HOME%"
%JAVA_HOME%\bin\java
"%JAVA_HOME%"\bin\java

打开命令行,把bat拖进去,回车
看看每个命令打印出来的结果就一目了然啦
第三个命令会报错
告诉你 ‘C:\Programs’ 不是内部或外部命令
所以这其实就是个cmd指令断句的问题……
命令四不会出错,因为路径加上了引号,所以加上引号就不会出现这个问题了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容