2011-02-07 5 views
34

Tengo un sistema Windows 7 en el que he instalado el último compilador de Java. También tengo el último Cygwin. Quiero usar el compilador de Java desde el shell de Cygwin. He editado la variable PATH en Cygwin de la siguiente manera:¿Cómo puedo configurar mi Cygwin PATH para encontrar javac?

export PATH=$PATH:"/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/" 

puedo ver el binario javac en el directorio anterior, sin embargo cuando intento compilar mi archivo .java * me sale:

javac command not found 

Am Estoy haciendo algo mal al configurar la variable PATH de esta manera? ¿Tengo que hacer algo más? Soy nuevo en Java y no estoy muy familiarizado con cygwin.

Respuesta

60

a medida que escribe el árbitro con comillas dobles, que no es necesario para escapar de los espacios con \

export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/" 

por supuesto, esto también funciona:

export PATH=$PATH:/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/ 
+3

¿Hay algún lugar permanente como variables de entorno de Windows donde puedo simplemente guardar la ubicación de la carpeta, en lugar de crear la variable PATH? Gracias ! – stack1

+6

puede agregar ese comando al archivo ~/.bashrc y luego siempre se cargará cuando inicie cygwin. – johanvdw

2

Si todavía está encontrando que se usa la versión de Java incorrecta incorrecta (1.7) en lugar de su directorio de inicio de Java, entonces todo lo que necesita hacer es simplemente cambiar el orden de su variable PATH para establecer JAVA_HOME \ bin antes de su directorio de Windows en su variable PATH, guardarlo y reinicia cygwin. Pruébalo para asegurarte de que todo funcionará bien. No debería tener ningún efecto adverso porque desea que su propia versión de Java anule la predeterminada que viene con Windows. ¡Buena suerte!

2

Para traer más importancia al comentario útil por @johanvdw:

Si desea asegurarse de que su su ruta de archivo javac siempre se sabe cuando comienza cygwin, puede editar el archivo .bash_profile. En este ejemplo, debería agregar export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/" en algún lugar del archivo.

Cuando Cygwin se inicia, buscará directorios en PATH y este para que se ejecuten los archivos ejecutables.

5

Los binarios de Java pueden estar en "Archivos de programa" o "Archivos de programa (x86)": es probable que esos espacios en blanco afecten el comportamiento.

Para configurar las variables env correctamente, sugiero reunir algo de información antes de comenzar:

  • concha abierta DOS (escriba cmd en el cuadro de 'RUN') vaya a C: \
  • Tipo "dir/x" y tomar nota de los nombres de DOS (con ~) para las carpetas "archivos de programa *"
  • configuración

Cygwin:

ir en C: \ cygwin \ home \, entonces .bash_profile abierto y añadir las dos líneas siguientes (convenientemente modificadas para requisitos particulares con el fin de que coincida con la trayectoria real JDK)

export JAVA_HOME="/cygdrive/c/PROGRA~1/Java/jdk1.8.0_65" 
export PATH="$JAVA_HOME/bin:$PATH" 

Ahora desde Cygwin lanzamiento

javac -version

para verificar si la configuración es exitosa.

Cuestiones relacionadas