jdk安裝不當-找不到或無法載入主類 com.sun.tools.javac.Main
阿新 • • 發佈:2018-11-05
情景:電腦上之前安裝了jdk1.8,今天又安裝了jdk1.7,配置idea用jdk1.7執行程式碼,配置完畢,點選執行,報錯:
Error:java: System Java Compiler was not found in classpath: java.lang.ClassNotFoundException: com.sun.tools.javac.api.JavacTool at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.jetbrains.jps.builders.impl.java.JavacCompilerTool.createCompiler(JavacCompilerTool.java:70) at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:66) at org.jetbrains.jps.javac.ExternalJavacProcess.compile(ExternalJavacProcess.java:195) at org.jetbrains.jps.javac.ExternalJavacProcess.access$400(ExternalJavacProcess.java:47) at org.jetbrains.jps.javac.ExternalJavacProcess$CompilationRequestsHandler$1.run(ExternalJavacProcess.java:262) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
看到ClassNotFoundException以及JavacTool,果斷開啟cmd,執行javac:
又執行java -version:
java -version沒問題,javac報錯,說明環境變數配置沒有問題,極有可能是Java安裝的問題。
百度得知:
安裝jdk過程中,還會彈出一個jre的安裝,這個和jdk不能安裝在同一目錄下,否則會衝突。
果斷重新安裝,問題解決。