logstash找不到或無法加載主類

感謝 Zparkle提供的答案
本文相當于轉(zhuǎn)載,如果解決了問題可以為原文作者點贊~

寫在前面:

  1. 本問題應該僅會發(fā)生在windows系統(tǒng)
  2. Logstash 版本為6.x.x可能會發(fā)生這個問題,別的版本我不知道
  3. 此文僅能解決無法加載主類后面出現(xiàn)路徑順序混亂 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 %*
實際上就是個雙引號的區(qū)別

問題發(fā)生的原因

一般大家java都裝在 program files 底下了吧,環(huán)境變量的 %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拖進去,回車
看看每個命令打印出來的結(jié)果就一目了然啦
第三個命令會報錯
告訴你 ‘C:\Programs’ 不是內(nèi)部或外部命令
所以這其實就是個cmd指令斷句的問題……
命令四不會出錯,因為路徑加上了引號,所以加上引號就不會出現(xiàn)這個問題了

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容