簡體   English   中英

java - 版本拋出“java.lang.ClassNotFoundException:”

[英]java -version throws "java.lang.ClassNotFoundException: "

我在 Debian 上使用 OpenJDK 11。每當我嘗試運行java -version時,我都會得到:

Error: Could not find or load main class 
Caused by: java.lang.ClassNotFoundException:

但是,像這樣運行是可行的:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java -version

我檢查了符號鏈接,它們都工作正常。 如果javac可以工作,為什么不能java ,因為它們都在同一個文件夾中。 我錯過了什么?

嘗試運行任何已編譯的類時,我也會得到同樣的結果。 我最近嘗試(但失敗了)切換到不同的 JDK,在此之前我沒有遇到這個問題。 我的 $PATH 和 $JAVA_HOME 設置正確。

我終於找到了答案。 我退后一步,想出了我在更改默認 JDK 時采取的確切步驟。 當我切換到 13 時,運行 java 會在我的屏幕上回顯一堆初始化設置,所以我按照某人的回答來抑制它,這導致了錯誤。

我已將此行添加到 my.bash_profile 以抑制它,然后將其注釋掉然后重新啟動就解決了問題!

_SILENT_JAVA_OPTIONS="$_JAVA_OPTIONS" && unset _JAVA_OPTIONS &&  alias java='java "$_SILENT_JAVA_OPTIONS"'

專業提示:如果您遇到此類錯誤,只需檢查您可能搞砸了哪些環境變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM