2012-05-30 22 views
11

Me trataron de mvn install y tiene este mensaje:No se puede localizar el compilador javac

Compilation failure 
Unable to locate the Javac Compiler in: 
    /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar 
Please ensure you are using JDK 1.4 or above and 
not a JRE (the com.sun.tools.javac.Main class is required). 
In most cases you can change the location of your Java 
installation by setting the JAVA_HOME environment variable. 

Bueno, hay un JDK abierta, también he descargado otro. Traté de señalar JAVA_HOME para tanto, ahora se establece:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03 
export JAVA_HOME 
PATH=$PATH:$JAVA_HOME/bin 
export PATH 

También traté de elegir uno de los que están abiertos con sudo update-alternatives --config java pero tengo el mismo error con diferentes versiones de JDK en el mismo.

¿Cómo puedo solucionar eso? Gracias por adelantado.

+0

¿Cuál es el resultado de "javac -version" y "which javac"? – Korgen

+1

@Korgen Después de la "versión javac" recibí "El programa 'javac' se puede encontrar en los siguientes paquetes" y una sugerencia para instalar uno de ellos (bueno, había una jdk abierta allí que ya está instalada). –

+1

¿Has iniciado sesión desde entonces? – dbalakirev

Respuesta

18

parece que su RUTA no se recoge correctamente ... ¿la salida de "echo $ PATH" contiene el directorio donde reside javac? Yo sugeriría siguiente:

terminal abierto y hacer un:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03 
export PATH=$PATH:$JAVA_HOME/bin 
javac -version 
which javac 

si -version javac aún no funciona crear un enlace simbólico en// local/bin usr apuntando a su javac binaria:

cd /usr/local/bin 
ln -s /usr/lib/jvm/jdk1.7.0_03/bin/javac javac 

esto debe conseguir que hasta un correr ... una alternativa consiste en intentar la creación de java a través de su sistema de gestión de paquetes (por ejemplo, "apt-get install java" o algo. similares)

+0

Gracias, ahora obtengo la versión javac, pero sigo teniendo el error de compilación –

+1

estás ejecutando maven desde el mismo terminal como donde ingresaste a las líneas de arriba? ¿El mensaje de error mvn sigue refiriéndose al directorio openjdk o a /usr/lib/jvm/jdk1.7.0_03? – Korgen

+0

Ver los comentarios de la pregunta, el problema parece estar resuelto, pero gracias de todos modos, marcaré esta respuesta tan pronto como sea posible. –

0

Me enfrenté a un error similar en una máquina ubuntu mientras ejecutaba una creación maven de Jenkins. Si la salida de 'javac -version' incita a continuación mensajes:

"El programa 'javac' se pueden encontrar en los siguientes paquetes: default-jdk ecj gcj-5-JDK OpenJDK-8-jdk-sin cabeza gcj-4,8-JDK gcj-4,9-JDK OpenJDK-9-jdk-sin cabeza Probar: apta instalar "

continuación, puede instalar "OpenJDK-8-jdk-sin cabeza" usando:

aptos instalar openjdk-8-jdk-headless

Esto resolvió mi problema y la compilación de maven pasó bien.

Cuestiones relacionadas