Mamy kilka aplikacji działających w Javie 5 i chcielibyśmy teraz udostępnić aplikację opartą na Javie 6. Czy obie wersje Java mogą funkcjonować razem w systemie Windows?
Czy istnieje panel sterowania służący do ustawiania odpowiedniej wersji języka Java dla różnych aplikacji lub w inny sposób konfigurowania wersji języka Java, która będzie używana do uruchamiania tej konkretnej aplikacji?
jdk-...exe STATIC=1
. Spróbowałem tego i zadziałało.STATIC
jako argument, ale czy JDK też?Jest absolutnie możliwe zainstalowanie obok siebie kilku wersji JRE / JDK. Co więcej, nie musisz robić nic specjalnego, aby tak się stało, ponieważ Sun tworzy dla każdego inny folder (w Program Files).
Nie ma panelu sterowania do sprawdzania, które środowisko JRE działa dla każdej aplikacji. Zasadniczo środowisko JRE, które będzie działać, będzie pierwszym w zmiennej środowiskowej PATH. Możesz to zmienić lub zmienną JAVA_HOME lub utworzyć określone pliki cmd / bat, aby uruchomić żądane aplikacje, każda z innym środowiskiem JRE w ścieżce.
źródło
Byłem zbulwersowany niezdarnością pomysłów CLASSPATH, JAVA_HOME i PATH w systemie Windows, aby śledzić pliki Java. Dotarłem tutaj z powodu wielu środowisk JRE i tego, jak się z tego zadowolić. Bez zwracania informacji, od faceta dużo mądrzejszego ode mnie, wskazałbym raczej na jego artykuł na ten temat, który jak dla mnie rozwiązuje to doskonale.
Artykuł autorstwa: Ted Neward: Multiple Java Homes: Giving Java Apps their own JRE
źródło
Powinna istnieć możliwość zmiany ustawienia zmiennej środowiskowej JAVA_HOME w inny sposób dla określonych aplikacji.
Uruchamiając z wiersza poleceń lub ze skryptu wsadowego można
set JAVA_HOME=C:\...\j2dskXXX
zmienić środowisko JAVA_HOME.Możliwe, że musisz również zmienić
PATH
zmienną środowiskową, aby używała poprawnego pliku binarnego Java. Aby to zrobić, możesz użyćset PATH=%JAVA_HOME%\bin;%PATH%
.źródło
Możemy zainstalować wiele wersji zestawów deweloperskich Java na tej samej maszynie za pomocą SDKMan.
Niektóre punkty dotyczące SDKMan są następujące:
_HOME
i,PATH
ponieważ SDKMan obsługuje to automatycznie.SDKMan może działać na dowolnej platformie UNIX, takiej jak Mac OSX, Linux, Cygwin, Solaris i FreeBSD i możemy go zainstalować za pomocą następujących poleceń:
$ curl -s "https://get.sdkman.io" | bash $ source "$HOME/.sdkman/bin/sdkman-init.sh"
Polecenie
sdk list java
poda nam listę wersji java, które możemy zainstalować za pomocą SDKMan.Instalowanie Java 8
$ sdk install java 8.0.201-oracle
Instalowanie Java 9
$ sdk install java 9.0.4-open
Instalowanie Java 11
$ sdk install java 11.0.2-open
Odinstalowanie wersji Java
Jeśli chcesz odinstalować dowolną wersję JDK, np. 11.0.2-open, możesz to zrobić w następujący sposób:
$ sdk uninstall java 11.0.2-open
Przełączanie aktualnej wersji Java
Jeśli chcesz aktywować jedną wersję JDK dla wszystkich terminali i aplikacji, możesz użyć polecenia
sdk default java <your-java_version>
Powyższe polecenia automatycznie zaktualizują również zmienne PATH i JAVA_HOME. Możesz przeczytać więcej w moim artykule Jak zainstalować wiele wersji Java na tym samym komputerze .
źródło
Wywołanie Javy z „wersją java: 1.5” itd. Powinno działać z poprawną wersją Javy. (Oczywiście zamień 1.5 na wybraną wersję).
Jeśli Java jest poprawnie zainstalowana w systemie Windows, istnieją ścieżki do maszyny wirtualnej dla każdej wersji przechowywanej w rejestrze, z którego korzysta, więc nie musisz majstrować przy wersjach środowiska w systemie Windows.
źródło
Lub użyj linków. Chociaż aktualizacja PATH w działającym środowisku jest raczej nieprzyjemna, łatwo jest odtworzyć łącze do nowej wersji JRE / JDK. Więc:
źródło
Używam prostego skryptu podczas uruchamiania jmetera z własną wersją java
setlocal set JAVA_HOME="c:\java8" set PATH=%JAVA_HOME%\bin;%PATH%; java -version
aby mieć "przenośną" javę, możesz użyć tej metody tutaj:
https://www.whitebyte.info/programming/java/how-to-install-a-portable-jdk-in-windows-without-admin-rights
źródło
Jeśli korzystasz z Java Web Start (możesz uruchamiać aplikacje z dowolnego adresu URL, nawet z lokalnego systemu plików), zajmie się on znalezieniem odpowiedniej wersji dla Twojej aplikacji.
źródło
Korzystając z Java Web Start, możesz zainstalować wiele JRE, a następnie wywołać to, czego potrzebujesz. W przypadku wygranej możesz utworzyć plik .bat:
1- wersja online: < twoja_wersja_JRE \ bin \ javaws.exe> -localfile -J-Djnlp.application.href = < adres URL pliku .jnlp .jnlp> -localfile -J "< path_temp_jnlp_file_ .jnlp>"
2- uruchom z pamięci podręcznej: < your_JRE_version \ bin \ javaws.exe> -localfile -J "< path_of_your_local_jnlp_file .jnlp>"
źródło