No se puede encontrar un compilador javac com.sun.tools.javac.Main no está en el error classpath

Nishant Nawarkhede:

Estoy tratando de ejecutar la aplicación Java y recibo el siguiente error,

No se puede encontrar un compilador javac; com.sun.tools.javac.Main no está en el classpath. Quizás JAVA_HOME no apunta al JDK

He pasado por muchas preguntas SO y la solución encontrada es JAVA_HOME debe apuntar a JDK, no a JRE .

Luego intenté imprimir JAVA_HOME en el símbolo del sistema,

ingrese la descripción de la imagen aquí

Había configurado este JAVA_HOME desde mi computadora-> propiedades-> variables env -> sistema vars como se muestra a continuación,

ingrese la descripción de la imagen aquí

También había agregado una nueva variable en eclipse usando preferencias como,

ingrese la descripción de la imagen aquí

Y finalmente sigo recibiendo el mismo error. ¿Qué pasa con JAVA_HOME?

Actualización:

In eclipse-preferences-installed jres there is only one entry is present and which is jdk and selected,

ingrese la descripción de la imagen aquí

And under project properties java build path-libraries there is JRE System Liberary [jdk1.8.0_31] is used.

ingrese la descripción de la imagen aquí

Update 1 :

C:\Program Files\Java\jdk1.8.0_31 have folder named jre. Is that jre folder causing this issue ? Can I remove this folder ? Is there is any way to add only jdk liberary in project ?

Aaron Digulla :

Eclipse is an IDE and as such, it has (at least) two Java versions: The one which it uses itself to run (JAVA_HOME) and a JVM which it uses to run your application. The two don't need to be the same.

So to fix your problem, you need to look into Eclipse's preferences, specifically Installed JREs which gives you a list of Java VMs which Eclipse will use to run Java code from projects. My guess is that there will be several entries there and the default will be a JRE instead of a JDK.

Make sure you have a JDK in the list and then go to your project. In the project, you can select which Java VM to use under Java Build Path -> Libraries.

[EDIT] Look closely at the last screenshot: You've configured Eclipse to use C:\Program Files\Java\jdk1.8.0_31\jre which means you've pointed it at the JRE inside of the JDK. Use C:\Program Files\Java\jdk1.8.0_31 instead (without the \jre at the end).

[EDITAR 2] Si elimina la jrecarpeta, Java dejará de funcionar. Cualquier JDK también contiene un JRE. El JRE contiene rt.jarcon String.classy similares. El compilador de Java está en el tools.jarque está en el JDK.

Si recrear la entrada JRE en Eclipse no ayuda, tendrá que agregarlo manualmente a la ruta de clase.

Puede usar una variable ("Agregar variable ...") para asegurarse de que Eclipse actualice la ruta cuando cambie a un JRE nuevo / diferente. Prueba JAVA_HOMEcon la extensiónlib/tools.jar

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Error "No se puede encontrar un compilador javac" en Ant

Error del compilador: 'Error: no se pudo encontrar o cargar la clase principal com.sun.tools.javac.Main'

No se puede encontrar un compilador javac

Hadoop "No se pudo encontrar o cargar la clase principal com.sun.tools.javac.Main"

Ant build no funciona: no se puede encontrar un compilador javac

mvn clean compile No se puede ubicar el compilador Javac en:

error: el paquete com.sun.tools.javac.util no existe

No se puede localizar el compilador de Javac

Error de Javac: "error: no se puede encontrar el símbolo"

Maven Ant BuildException con maven-antrun-plugin ... no se puede encontrar el compilador javac

Error al compilar el proyecto con maven [com / sun / tools / javac / tree / JCTree $ JCCompilationUnit]

por qué getSimpleName () está dos veces en com.sun.tools.javac.tree.JCTree $ JCClassDecl

No com.sun.tools.javac en JDK7

javac "no se puede encontrar el símbolo" error con la línea de comando

Falló la compilación de Maven: "No se puede localizar el compilador Javac en: problema jre o jdk"

Obteniendo el mensaje de error al ejecutar el compilador javac.exe, mientras se usa Ant en Eclipse

javac se queja: no se puede encontrar el símbolo en la interfaz de implementación de enumeración

Error en el compilador de eclipse o en javac ("no se pueden determinar los parámetros de tipo de T")

¿Por qué javac emite "error: el método de la clase no se puede aplicar a tipos dados" cuando se utiliza un método de instancia en un contexto estático?

Acceso a com.sun.tools.javac.util desde Java 9

Error del compilador rápido: no se puede encontrar la variable en el alcance

¿Puede Sun Javac estándar realizar una compilación incremental?

No se puede compilar el archivo .h en la consola con javac y lombok. Error: el paquete lombok no existe

¿Por qué javac 1.5 se ejecuta tan lentamente en comparación con el compilador Eclipse?

Ant no puede encontrar javac, JAVA_HOME no se configura en Ubuntu

El uso del compilador Eclipse en lugar de javac da como resultado un bloqueo de javadoc

Compilador está mostrando un mensaje de error "no puede encontrar el símbolo" cuando se trata de la clase SteppingStone5_Recipe referencia en otra clase dentro del mismo paquete

Error de retorno del compilador de Java: no se puede encontrar el símbolo aunque el símbolo está definido

Error de retorno del compilador de Java: no se puede encontrar el símbolo aunque el símbolo está definido

TOP Lista

CalienteEtiquetas

Archivo