Zmiana bieżącej wersji Java w systemie Windows

16

Pracuję w środowisku Windows XP i niedawno zainstalowałem java 1.6, ponieważ była wymagana przez aplikację.

Jednak nie chcę, aby była to domyślna wersja Java. Jak to ustawić, aby polecenie java -version zwróciło 1.5.x.

Dunc
źródło
Przyjrzałbym się pathzmiennej środowiskowej. Można sprawdzić to w wierszu poleceń z: echo %PATH%. Są to foldery domyślne, w których szukane są pliki binarne. Jeśli znajdziesz ścieżkę do JAVA, możesz ją łatwo dostosować w Preferencjach systemowych.
Rekin

Odpowiedzi:

21

Zmień zmienną PATH, tak aby zawierała lokalizację katalogu jdk5 / bin:

  1. Start -> Panel sterowania -> System -> Zaawansowane
  2. Kliknij Zmienne środowiskowe, w obszarze Zmienne systemowe znajdź ŚCIEŻKA i kliknij ją.
  3. W oknie Edycja zmodyfikuj ŚCIEŻKĘ, dodając na początku lokalizację katalogu jdk5 / bin. Jeśli nie masz pozycji ŚCIEŻKA, możesz dodać nową zmienną i dodać ŚCIEŻKĘ jako nazwę i lokalizację katalogu jako wartość.
  4. Zamknij okno.
  5. Ponownie otwórz okno wiersza polecenia i uruchom java -version
dogbane
źródło
To nie zadziałało. Bin jre nie był wcześniej częścią ścieżki, więc musi być ustawiony gdzie indziej.
Dunc,
9
Dzieje się tak, ponieważ podczas instalowania Java pojemniki są umieszczane w C: \ WINDOWS \ system32, który jest częścią twojej ŚCIEŻKI. Powinieneś dodać katalog jre / bin na początek ŚCIEŻKI.
dogbane
Niestety nie zauważyłem części początkowej. Dzięki
Dunc,
3
Jeśli masz zainstalowanych wiele środowisk JRE, jedynym sposobem na osiągnięcie tego jest zmiana wpisu rejestru. Zwłaszcza, że ​​istnieją narzędzia, które odczytują informacje JRE z rejestru, a nie ścieżkę klasy.
Ayusman
17

W powłoce poleceń:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

Spowoduje to tymczasowe skonfigurowanie środowiska w powłoce poleceń. Maven, Ant itp. Przejdą na twoją nową wersję Java bez konieczności ciągłego przechodzenia do Panelu sterowania.

Narzędzia takie jak Eclipse powinny mieć możliwość wyboru JDK do użycia we własnych narzędziach konfiguracyjnych do użytku w ich środowiskach.

Mike Thomsen
źródło
6

Java 8 tworzy trzy skróty na \ ProgramData \ Oracle \ Java \ javapath, które wskazują najnowszą wersję Java8 java.exe, javaw.exe i javaws.exe, a następnie umieszczają \ ProgramData \ Oracle \ Java \ javapath z przodu ścieżki bez względu na to, co zrobisz ze zmienną środowiskową JAVA_PATH, nadal otrzymujesz najnowszą Javę 8.

Możesz to obejść przez

1) zmiana nazwy \ ProgramData \ Oracle \ Java \ javapath na coś innego (na przykład \ ProgramData \ Oracle \ Java \ javapath8)

2) utworzenie nowego folderu javapath w Javie i

3) tworzenie potrzebnych skrótów.

Po prostu przywróć javapath, kiedy skończysz ze starymi wersjami i odzyskasz Javę 8.

Ron
źródło
1
Cóż, zawsze możesz umieścić swoją starą lokalizację Java w ŚCIEŻCE, a przede wszystkim wygra.
leonbloy
Krótka, ale do javapathrzeczy , bardzo dobra odpowiedź, ta wyjaśnia bardziej szczegółowo, jak wygenerować wiele wersji folderów, używając dowiązań symbolicznych, dzięki czemu można bez problemu przełączać się między wersjami oraz brakujących elementów rejestru, zrzutów ekranu i sztuczek aby uniknąć restartu również po zmianach. patrz stackoverflow.com/questions/27996603 .
3

Istnieją dwa sposoby, aby to naprawić:

1) Zmień ŚCIEŻKĘ (jak ktoś już wspomniał) Ważną rzeczą w tym rozwiązaniu jest ustawienie JAVA_HOME przed ścieżkami systemu Windows. Wynika to z faktu, że pod folderem Windows znajduje się plik java.exe, który przekierowuje do ostatnio zainstalowanego środowiska jre .

2) Regedit. Klucz HKEY_LOCAL_MACHINE-> SOFTWARE-> JAVASOFT-> Java Runtime Environment zawiera ostatnią zainstalowaną wersję, do której przekierowuje java.exe w folderze Windows. Jeśli zmienisz to na wcześniej zainstalowaną wersję, wszystko powinno być brzoskwiniowe. (Przynajmniej uważam, że to właściwy klucz rejestru)


źródło
1

Najnowsza wersja środowiska JRE, którą masz zawsze, ma pierwszeństwo przed dowolnym ustawieniem PATH. Tak więc, aby się upewnić, odinstaluj 1.6 JRE, jeśli nie chcesz, aby był głównym. Możesz mieć zainstalowaną dowolną liczbę JDK równolegle.

adarshr
źródło
1

Ponieważ Java obsługuje -versionopcję wiersza polecenia, możesz jej użyć do wybrania określonej wersji do uruchomienia, np .:

java -version:1.7 -jar [path to jar file]

uruchomi aplikację jar w Javie 1.7, jeśli jest zainstalowana.

Aby uzyskać więcej informacji, zobacz dokumentację Oracle .

Akhilesh Dubey
źródło
@Jawa to java -version:1.7 -jar [path to jar file]nie jest już obsługiwane. Konieczne może być wybranie trasy PATH Pozdrawiam.
Adeola Ojo
0

Utwórz plik „setjava.bat” i zapisz ten plik z poniższą zawartością i nie zapomnij zmienić JAVA_PATH dla swojego systemu. Pamiętaj również, aby zapisać ten plik z rozszerzeniem .bat.

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" (
 set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE (
 REM At present I only need to assign 8 by default if not 7
 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

Teraz wystarczy uruchomić ten skrypt z uprawnieniami administratora.

Przykład: setjava 8, setjava 7

Sprawdź ten link, aby uzyskać więcej informacji

Ricky
źródło