2009-10-14 18 views
6

OS: Windows XPDlaczego java -version zwraca starszą wersję?

Używam yuicompressor-2.4.2 do kompresowania niektórych CSS przed przesłaniem na mój serwer. Ale kiedy go uruchomić, pojawia się następujący wyjątek:

Exception in thread "main" java.lang.UnsupportedClassVersionError: 
com/yahoo/platform/yui/compressor/Bootstrap (Unsupported major.minor version 48.0)

Więc myślę, że to ze względu na JRE. Polecenie, które wpisałem w cmd: java -version

I mówi: wersja Java "1.3.1_01", ale powinno brzmieć "1.6.0_16", ponieważ zainstalowałem najnowszą wersję.

Co należy zrobić, aby Java korzystała z najnowszej wersji zamiast starej?

+1

można zakładać wyjście 'echo% PATH%'? –

+0

Masz zainstalowane co najmniej 2 wersje java. Usuń niechciane wersje. Upewnij się, że $ PATH zawiera tylko preferowaną wersję. – jackrabbit

Odpowiedz

11

ustawić zmienną środowiskową JAVA_HOME skierowaną do katalogu gdzie masz JDK 1.6.0

set JAVA_HOME=your_path_to_jdk1.6 
set PATH=%JAVA_HOME%/bin;.;..;%PATH% 

to z okna poleceń. Ponadto można zrobić z „Mój komputer> Właściwości> Zaawansowane> Zmienne środowiskowe”

+0

Dzięki, że zadziałało. =) Ale nadal nie wiem, jak kiedy zaktualizowałem java, to nie zmieniło automatycznie wersji: S –

+1

To może działać, ale myślę, że to kludge. Nie powinieneś mieć problemu ze ścieżką, jeśli twój system jest poprawnie skonfigurowany. – erickson

1

Dodaj% JAVA_HOME%/bin do zmiennej środowiskowej PATH gdzie JAVA_HOME jest ustawiony do katalogu JRE6u16

0

Należy sprawdzić środowiskowej PATH zmienna. Możliwe, że niektóre aplikacje, które zainstalowałeś, umieszczają swoją wersję jre na twojej ścieżce.

2

należy zmodyfikować zmienną środowiskową PATH:

Mój komputer> prawy przycisk myszy> Właściwości> Zaawansowane> Zmienne środowiskowe

i modyfikować „ścieżka”

Dołącz na koniec ścieżka do 1,6 instalacja:

;C:\jdk1.6.xxx\bin 

i usunąć poprzednią, jeśli jest obecna.

0

Wygląda starszej wersji Java jest nadal na zmiennej środowiskowej PATH (gdzie OS szuka poleceń) lub JAVA_HOME (gdzie yuicompressor mogą szukać wykonywalnego Java)

Jak te zmienne są zmieniane zależy twój system operacyjny.

6

W systemie Windows środowisko JRE instaluje plik wykonywalny java w katalogu systemu Windows, który powinien być pierwszą ścieżką java. To jest tylko opakowanie, które wygląda w Rejestrze Windows, aby znaleźć katalog domowy Java (powinno być "% SystemDrive% \ Program Files \ Java \ jre6" dla Java 6) i działa z wykorzystaniem tamtejszych bibliotek.

Uruchom% SystemRoot% \ system32 \ java -version i zobacz, co otrzymasz. Jeśli ta jest Java 6, masz wpisy na swojej ścieżce przed% SystemRoot% \ system32 (która tak naprawdę powinna być pierwsza). Albo napraw zmienną% PATH%, albo będziesz musiał jawnie za każdym razem, gdy chcesz uruchomić tę wersję Java.

Jeśli ta instancja java nie zgłasza środowiska Java 6, nie jest zainstalowana (poprawnie). Odinstaluj i spróbuj ponownie zainstalować.

Jeśli masz problemy ze względu na PATH, dzieje się tak dlatego, że ty lub jakieś oprogramowanie, które zainstalowałeś, jest z nim małpowane; Polecam użycie domyślnej, która ma system32 jako pierwsza. Wszystko działa poprawnie, jeśli używane są wartości domyślne.

Również% JAVA_HOME% nie jest w ogóle używany przez samo środowisko JRE . Niektóre typowe aplikacje Java, takie jak tomcat i ant, honorują ustawienia% JAVA_HOME%, więc być może yuicompressor też. Ale to de facto konwencja, a nie standard.

+1

Niesamowita wskazówka !! Nigdy w ogóle o tym nie myślałem. Dodałem do mojej ścieżki, ale na końcu. Gdy tylko dostosowałem zamówienia, natychmiast rozwiązano problem. Dzięki :) –

4

przejdź do katalogu system32 C: \ Windows \ System32 i usuwać po 3 plików

  • java.exe
  • javaw.exe
  • javaws.exe

teraz utworzyć Zmienna środowiskowa JAVA_HOME o wartości = {ścieżka root instalacji jdk} i dodaj ścieżkę do folderu bin twojego jdk w zmiennej środowiskowej PATH.

Otwórz świeże wiersz polecenia i uruchomić java -version aby potwierdzić zmianę

+0

rozwiązał mój problem Dzięki – user2045810

+0

może to być również w tym katalogu 'C: \ ProgramData \ Oracle \ Java \ javapath' należy usunąć również –

Powiązane problemy