2011-02-07 12 views
34

Ho un sistema Windows 7 su cui ho installato l'ultimo compilatore Java. Ho anche l'ultimo Cygwin. Voglio usare il compilatore Java dalla shell di Cygwin. Ho modificato la variabile PATH in Cygwin come segue:Come posso impostare il mio Cygwin PATH per trovare javac?

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

posso vedere il javac binario nella directory di cui sopra, tuttavia quando provo a compilare il mio file .java * ottengo:

javac command not found 

Am Sto facendo qualcosa di sbagliato nell'impostare la variabile PATH come questa? Devo fare qualcos'altro? Sono nuovo di Java e non ho molta familiarità con Cygwin.

risposta

60

come si scrive il con doppie virgolette, non è necessario per sfuggire spazi con \

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

Naturalmente questo funziona anche:

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

C'è qualche posto permanente come variabili di ambiente Windows in cui posso semplicemente salvare la posizione della cartella, invece di creare la variabile PATH? Grazie ! – stack1

+6

è possibile aggiungere tale comando al file ~/.bashrc che verrà sempre caricato all'avvio di cygwin. – johanvdw

2

Se si sta ancora scoprendo che viene utilizzata la versione Java predefinita (1.7) errata al posto della home directory Java, quindi è sufficiente modificare l'ordine della variabile PATH per impostare JAVA_HOME \ bin prima della directory di Windows nella variabile PATH, salvarlo e riavviare cygwin. Provalo per assicurarti che tutto funzioni correttamente. Non dovrebbe avere alcun effetto negativo perché vuoi che la tua versione Java sovrascriva quella predefinita fornita con Windows. In bocca al lupo!

2

Per portare più risalto al commento utile per @johanvdw:

Se si vuole garantire il vostro il vostro percorso del file javac viene sempre sapere quando inizia Cygwin, si può modificare il file .bash_profile. In questo esempio si aggiunge export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/" da qualche parte nel file.

All'avvio di Cygwin, cercherà le directory in PATH e questa per l'esecuzione dei file eseguibili.

5

I file binari Java possono essere in "Programmi" o "Programmi (x86)": questi spazi bianchi probabilmente influiranno sul comportamento.

Per istituire variabili env correttamente, suggerisco di raccogliere alcune informazioni prima di iniziare:

  • shell aperta DOS (digitare cmd nella casella 'RUN') vai a C: \
  • tipo "dir/x" e prendere nota dei nomi di DOS (con ~) per le cartelle "Programmi *"

Cygwin configurazione:

andare in C: \ cygwin \ home \, quindi .bash_profile aperto e aggiungere le seguenti due righe (opportunamente personalizzate al fine di corrispondere voi percorso effettivo JDK)

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

Ora dal lancio Cygwin

javac -version

per verificare se la configurazione è riuscita.

Problemi correlati