2011-02-07 13 views
34

Mam system Windows 7, na którym zainstalowałem najnowszy kompilator Java. Mam też najnowszego Cygwin. Chcę użyć kompilatora Java z powłoki Cygwin. I edytowane zmiennej PATH w Cygwin następująco:Jak ustawić ścieżkę Cygwin PATH, aby znaleźć javac?

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

widzę javac binarny w powyższym katalogu, jednak gdy próbuję skompilować mój plik * .java uzyskać:

javac command not found 

Am Robię coś złego w ustawianiu zmiennej PATH w ten sposób? Czy muszę robić coś innego? Jestem nowicjuszem w Javie i niezbyt zaznajomiony z cygwin.

Odpowiedz

60

jak piszesz go z podwójnymi cudzysłowami, nie trzeba uciekać przestrzenie z \

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

oczywiście działa to również:

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

Czy istnieje jakieś trwałe miejsce, takie jak zmienne środowiskowe systemu Windows, w których mogę po prostu zapisać lokalizację folderu, zamiast tworzyć zmienną PATH? Dzięki ! – stack1

+6

możesz dodać to polecenie do pliku ~/.bashrc, a następnie załaduje się zawsze, gdy uruchomisz cygwin. – johanvdw

2

Jeśli nadal uznając, że domyślna, błędna wersja Java (1.7) jest używana zamiast katalogu domowego Java, wszystko co musisz zrobić, to po prostu zmienić kolejność zmiennej PATH, aby ustawić JAVA_HOME \ bin przed swoim katalogiem Windows w zmiennej PATH, zapisz ją i uruchom ponownie cygwin. Przetestuj go, aby upewnić się, że wszystko będzie działać poprawnie. Nie powinno to mieć żadnego niepożądanego skutku, ponieważ chcesz, aby twoja własna wersja Javy przesłaniała domyślne ustawienie systemu Windows. Powodzenia!

2

Aby przynieść większe znaczenie użytecznej komentarz przez @johanvdw:

Jeśli chcesz zapewnić sobie swoją ścieżkę javac jest zawsze wiedzieć, kiedy Cygwin zaczyna, można edytować plik .bash_profile. W tym przykładzie musisz dodać export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/" gdzieś w pliku.

Po uruchomieniu Cygwin będzie wyszukiwał katalogi w PATH, a ten do uruchamiania plików wykonywalnych.

5

Pliki binarne Java mogą znajdować się w "Program Files" lub "Program Files (x86)": te białe spacje będą prawdopodobnie wpływać na zachowanie.

W celu skonfigurować zmienne env poprawnie, proponuję zbieranie pewne informacje przed rozpoczęciem:

  • Otwarte DOS Shell (wpisz cmd w pole 'Uruchom') przejdź do katalogu C: \
  • typu "dir/x" i wziąć pod uwagę nazw DOS (z ~) dla folderów Program Files "*"
  • konfigurację

Cygwin:

iść pod C: \ cygwin \ home \, a następnie otwórz .bash_profile i dodać następujące dwa wiersze (dogodnie dostosowane w celu dopasowania ci rzeczywistą ścieżkę JDK)

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

Teraz z Cygwin uruchomienia

javac -version

, aby sprawdzić, czy konfiguracja się powiodła.