. как установить Java?
Во многих моих тренингах так или иначе используется Java, либо как язык программирования для разработки автотестов, либо как среда для запуска приложений, написанных на Java.
Поэтому я решил описать процедуру установки Java, а также некоторые нюансы настройки Java после установки, которые могут приводить к проблемам при запуске приложений, написанных на Java.
Пять лет назад я уже писал такую инструкцию, но с тех пор накопилось много изменений как в Java, так и в операционных системах, так что пришло время для реновации.
Что устанавливать, JRE или JDK?
Существует две разновидности дистрибутива Java — для простых пользователей и для разработчиков:
- Java Runtime Environment, или JRE — это виртуальная машина, позволяющая запускать приложения, написанные на языке программирования Java;
- Java Development Kit, или JDK — это набор инструментов для разработки программ на языке программирования Java (компилятор, архиватор, генератор документации и прочие). JRE разумеется является частью дистрибутива JDK.
Правило очень простое:
- если вы собираетесь что-нибудь писать на языке программирования Java, значит вам нужен JDK;
- если вы собираетесь только запускать готовые программы — тогда достаточно JRE.
Какую версию выбрать?
Релизы Java выходят раз в полгода (не считая мелких обновлений). Но не стоит гнаться за новизной. Если вы установите Java последней версии, приготовьтесь к тому, что не все приложения будут хорошо работать с ней. Новые недавно добавленные возможности иногда приводят к проблемам совместимости.
Лучше всего посмотреть статистику и выбрать то, что использует большинство. Давайте посмотрим статистику за 2019 год:
- Раз: The State of Java Developer Ecosystem in 2019
- Два: The State of Java in 2019
- Три: 2020 Java Technology Report
В сентябре 2019 года вышла версия 13, в марте 2020 года выйдет версия 14, но при этом большинство продолжает использовать Java 8!
Я не собираюсь здесь обсуждать причины этого явления, но факт есть факт — это самая распространённая версия по состоянию на конец 2019 года. Поэтому если вы хотите максимальной стабильности и совместимости — в 2020 году берите Java 8.
Второе место по популярности занимает Java 11, это так называемый релиз с долгосрочной поддержкой (Long Term Support, LTS), ориентированный на корпоративных пользователей, для которых стабильность важнее новых фич.
Поддержка Java 8 официально прекращается в декабре 2020 года, к этому времени все корпоративные пользователи будут вынуждены перейти на Java 11. Но вы уже сейчас, не дожидаясь конца 2020 года, можете смело брать эту версию, она обеспечит комфортное соотношение достаточной новизны и не очень высокого риска. А если что-то не будет работать — можно установить рядом Java 8 для использования со старыми приложениями.
Выбирая из 32-битной и 64-битной версий, берите 64-битную, если ваша операционная система это позволяет.
Где взять?
Java это не только язык программирования, но и спецификация, как самого языка, так и среды исполнения программ, написанных на этом языке. Причем это открытая спецификация, поэтому может существовать, и существует, много разных её реализаций, в том числе проприетарных.
Большинство бесплатных реализаций (а может быть даже все) базируются на общем коде, который разрабатывается совместными усилиями вендоров в рамках проекта OpenJDK.
К этому общему коду каждый вендор дописывает свой инсталлятор (со своим логотипчиком), а также может добавлять какие-то дополнительные библиотеки (такие как, например, библиотека для создания графических пользовательких интерфейсов OpenJFX) или утилиты (например, средства мониторинга).
Лично я отдаю предпочтение сборке Azul Zulu, но вы можете выбрать какую-нибудь другую.
Как установить?
На примере сборки Azul Zulu.
В операционной системе Windows:
- выберите сборку и версию, как описано в предыдущих разделах;
- загрузите инсталлятор (файл с расширением .msi );
- запустите инсталлятор и следуйте инструкциям на экране.
В операционной системе Linux:
- выберите сборку и версию, как описано в предыдущих разделах;
- загрузите пакет (файл с расширением .deb или .rpm );
- в консоли выполните команду
sudo apt install <путь к загруженному deb-файлу>
либо
sudo rpm -i <путь к загруженному rpm-файлу>
В операционной системе MacOS:
- выберите сборку и версию, как описано в предыдущих разделах;
- загрузите образ диска (файл с расширением .dmg );
- откройте загруженный образ диска;
- запустите находящийся внутри него инсталлятор и следуйте инструкциям на экране.
Как проверить правильность установки?
В операционной системе Windows нужно запустить консоль ( cmd ) и выполнить команду where java , которая должна показать правильный путь до исполняемого файла java.exe , а также после этого выполнить команду java -version для проверки того, что это именно та версия, которую вы устанавливали:

В операционной системе Linux и MacOS нужно запустить консоль и выполнить команду which java , которая должна показать правильный путь до исполняемого файла java (скорее всего это будет /usr/bin/java ), а также после этого выполнить команду java -version для проверки того, что это именно та версия, которую вы устанавливали:

Что ещё надо сделать?
Инсталлятор Java выполняет минимальную необходимую настройку окружения, в том числе он добавляет в переменную среды PATH путь к директории, которая содержит исполняемые файлы Java (в операционной системе Windows), либо создаёт в стандартной директории для исполняемых файлов символические ссылки на установленные исполняемые файлы Java (в других операционных системах).
Но некоторые программы вместо этого используют переменную среды JAVA_HOME , которая должна указывать на директорию, в которую установлена Java. Поэтому на всякий случай можно сразу установить эту переменную.
Для этого надо научиться определять, куда установлена Java.
В операционной системе Windows путь к директории установки можно увидеть, выполнив команду where java в консоли. Например, если вы установили сборку Zulu JDK версии 8, эта команда вернёт значение C:\Program Files\Zulu\zulu-8\bin\java.exe , а в переменную JAVA_HOME нужно установить значение C:\Program Files\Zulu\zulu-8 .
В операционной системе Linux нужно посмотреть, куда указывает символическая ссылка java , это можно сделать командой readlink -f $(which java) . Например, если вы установили сборку Zulu JDK версии 8, эта команда вернёт значение /usr/lib/jvm/zulu-8-amd64/jre/bin/java , а в переменную JAVA_HOME нужно установить значение /usr/lib/jvm/zulu-8-amd64/jre . Чтобы эта переменная среды устанавливалась автоматически при входе в систему, можно в файл
/.profile добавить строчку export JAVA_HOME=$(readlink -f $(which java) | sed «s:/bin/java::») .
В операционной системе MacOS есть специальная команда /usr/libexec/java_home , которая возвращает нужный путь. Например, если вы установили сборку Zulu версии 8, эта команда вернёт значение /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home , именно это значение и нужно установить в переменную JAVA_HOME . Чтобы эта переменная среды устанавливалась автоматически при входе в систему, можно в файл
/.profile добавить строчку export JAVA_HOME=$(/usr/libexec/java_home) .
А если вы собираетесь писать код на языке программирования Java, информация о расположении Java пригодится при настройке среды разработки.

Автор: Алексей Баранцев
Если вам понравилась эта статья, вы можете поделиться ею в социальных сетях (кнопочки ниже), а потом вернуться на главную страницу блога и почитать другие мои статьи.
Ну а если вы не согласны с чем-то или хотите что-нибудь дополнить – оставьте комментарий ниже, может быть это послужит поводом для написания новой интересной статьи.
Java Versions and Features
You can use this guide to get practical information on how to find and install the latest Java, understand the differences between Java distributions (Adoptium, AdoptOpenJdk, OpenJDK, OracleJDK etc.), as well as get an overview of Java language features, including version Java versions 8-19.
Practical Information
First, let’s have a look at some common, practical questions that people have when trying to choose the right Java version for their project.
TL;DR I only want a download link and know about everything else. Where should I go?
Go to the Adoptium site, chose the latest Java version, download and install it. Then come back to this guide to maybe still learn a thing or two about Java versions.
What is the latest Java version?
As of September 2022, Java 19 is the latest released Java version. In March 2023, Java 20 will follow. The last long-term support version (LTS) of Java is Java 17, released in September 2021.
What Java version should I use?
Newer Java versions now follow every 6 months. Hence, Java 20 is scheduled for March 2023, Java 21 for September 2023 and so on. In the past, Java release cycles were much longer, up to 3-5 years. This graphic demonstrates that:

With that many new versions coming out, there’s basically these real-world(™) usage scenarios:
Legacy projects in companies are often stuck with using Java 8 (see Why are companies still stuck with Java 8?) . Hence you will be forced to use Java 8 as well.
Some legacy projects are even stuck on Java 1.5 (released 2004) or 1.6 (released 2006) — sorry, folks, I feel for you!
If you are making sure to use the very latest IDEs, frameworks and build tools and starting a greenfield project, you can, without hesitation, use Java 17 (LTS) or even the very latest Java 19.
There’s the special field of Android development, where the Java version is basically stuck at Java 7, with a specific set of Java 8 features available. Or you switch to using the Kotlin programming language.
Why are companies still stuck with Java 8?
There’s a mix of different reasons companies are still stuck with Java 8. To name a few:
Build tools (Maven, Gradle etc.) and some libraries initially had bugs with versions Java versions > 8 and needed updates. For example, certain build tools like Maven would print out «reflective access»-warnings when building Java projects, which simply «felt not ready», even though the builds were fine.
Up until Java 8 you were pretty much using Oracle’s JDK builds and you did not have to care about licensing. Oracle changed the licensing scheme In 2019, though, which led the internet go crazy with a ton of articles saying «Java is not free anymore» — and a fair amount of confusion followed. This is however not really an issue, which you’ll learn about in the Java Distributions section of this guide.
Some companies have policies to only use LTS versions and rely on their OS vendors to provide them these builds, which takes time.
To sum up: you have a mix of practical issues (upgrading your tools, libraries, frameworks) and political issues.
Why are some Java versions, like 8 also called 1.8?
Java versions before 9 simply had a different naming scheme. So, Java 8 can also be called 1.8, Java 5 can be called 1.5 etc. When you issued the ‘java -version’ command, with these versions you got output like this:
Which simply means Java 8. With the switch to time-based releases with Java 9 the naming scheme also changed, and Java versions aren’t prefixed with 1.x anymore. Now the version number looks like this:
What is the difference between the Java versions? Should I learn a specific one?
Coming from other programming languages with major breakages between releases, like say Python 2 to 3, you might be wondering if the same applies to Java.
Java is special in this regard, as it is extremely backwards compatible. This means that your Java 5 or 8 program is guaranteed to run with a Java 8-19 virtual machine — with a few exceptions you don’t need to worry about for now.
It obviously does not work the other way around, say your program relies on Java 19 features, that are simply not available under a Java 8 JVM.
This means a couple of things:
You do not just «learn» a specific Java version, like 12.
Rather, you’ll get a good foundation in all language features up until Java 8. This serves as a good base.
And then learn, from a guide like this, what additional features came in Java 9-19 and use them whenever you can.
What are examples of these new features between Java versions?
Have a look at the Java Features 8-19 section.
But as a rule of thumb: The older, longer release-cycles (3-5 years, up until Java 8) meant a lot of new features per release.
The 6-month release cycle means a lot less features, per release, so you can catch up quickly on Java 9-19 language features.
What is the difference between a JRE and a JDK?
Up until now, we have only been talking about «Java». But what is Java exactly?
First, you need to differentiate between a JRE (Java Runtime Environment) and a JDK (Java Development Kit).
Historically, you downloaded just a JRE if you were only interested in running Java programs. A JRE includes, among other things, the Java Virtual Machine (JVM) and the «java» command line tool.
To develop new Java programs, you needed to download a JDK. A JDK includes everything the JRE has, as well as the compiler javac and a couple of other tools like javadoc (Java documentation generator) and jdb (Java Debugger).
Now why am I talking in past tense?
Up until Java 8, the Oracle website offered JREs and JDKs as separate downloads — even though the JDK also always included a JRE in a separate folder. With Java 9 that distinction was basically gone, and you are always downloading a JDK. The directory structure of JDKs also changed, with not having an explicit JRE folder anymore.
So, even though some distributions (see Java Distributions section) still offer a separate JRE download, there seems to be the trend of offering just a JDK. Hence, we are going to use Java and JDK interchangeably from now on.
How do I install Java or a JDK then?
Ignore the Java-Docker images, .msi wrappers or platform-specific packages for the moment. In the end, Java is just a .zip file, nothing more, nothing less.
Therefore, all you need to do to install Java onto your machine, is to unzip your jdk-<5-19>.zip file. You don’t even need administrator rights for that.
Your unzipped Java file will look like this:
The magic happens in the /bin directory, which under Windows looks like this:
So all you need to do is unzip that file and put the /bin directory in your PATH variable, so you can call the ‘java’ command from anywhere.
(In case you are wondering, GUI installers like the one from Oracle or Adoptium will do the unzipping and modifying the PATH variable for you, that’s about it.)
To verify you installed Java correctly, you can then simply run ‘java -version’. If the output looks like the one below, you are good to go.
Now there’s one question left: Where do you get that Java .zip file from? Which brings us to the topic of distributions.
Java Distributions
There’s a variety of sites offering Java (read: JDK) downloads and it is unclear «who offers what and with which licensing». This section will shed some light on this.
The OpenJDK project
In terms of Java source code (read: the source code for your JRE/JDK), there is only one, living at the OpenJDK project site.
This is just source code however, not a distributable build (think: your .zip file with the compiled java command for your specific operating system). In theory, you and I could produce a build from that source code, call it, say, MarcoJDK and start distributing it. But our distribution would lack certification, to be able to legally call ourselves Java SE compatible.
That’s why in practice, there’s a handful of vendors that actually create these builds, get them certified (see TCK) and then distribute them.
And while vendors cannot, say, remove a method from the String class before producing a new Java build, they can add branding (yay!) or add some other (e.g. CLI) utilities they deem useful. But other than that, the original source code is the same for all Java distributions.
OpenJDK builds (by Oracle) and OracleJDK builds
One of the vendors who builds Java from source is Oracle. This leads to two different Java distributions, which can be very confusing at first.
OpenJDK builds by Oracle(!). These builds are free and unbranded, but Oracle won’t release updates for older versions, say Java 15, as soon as Java 16 comes out.
OracleJDK, which is a branded, commercial build starting with the license change in 2019. Which means it can be used for free during development, but you need to pay Oracle if using it in production. For this, you get longer support, i.e. updates to versions and a telephone number you can call if your JVM goes crazy.
Now, historically (pre-Java 8) there were actual source differences between OpenJDK builds and OracleJDK builds, where you could say that OracleJDK was ‘better’. But as of today, both versions are essentially the same, with minor differences.
It then boils down to you wanting paid, commercial support (a telephone number) for your installed Java version.
Adoptium’s Eclipse Temurin (formerly AdoptOpenJDK)
In 2017, a group of Java User Group members, developers and vendors (Amazon, Microsoft, Pivotal, Redhat and others) started a community, called AdoptOpenJDK. As of August 2021, the AdoptOpenJDK project moved to a new home and is now called the Eclipse Adoptium project.
Adoptium provides free, rock-solid OpenJDK builds, called Eclipse Temurin , with longer availibility/updates, across a variety of operating systems, architectures and versions.
Highly recommended if you are looking to install Java.
Azul Zulu, Amazon Corretto, SAPMachine
You will find a complete list of OpenJDK builds at the OpenJDK Wikipedia site. Among them are Azul Zulu, Amazon Corretto as well as SapMachine, to name a few. To oversimplify it boils down to you having different support options/maintenance guarantees.
Still, if you’re, for example, working on AWS, it makes sense to just go with their Amazon Corretto OpenJDK builds, provided they offer the version you want to use.
A Complete OpenJDK Distribution Overview
Rafael Winterhalter compiled a great list of all available OpenJDK builds, including their OS, architecture, licensing, support and maintenance windows.
Recommendation
To re-iterate from the beginning, in 2022 and 2023, unless you have very specific requirements, go get your jdk.zip (.tar.gz/.msi/.pkg) file from https://adoptium.net (called Eclipse Temurin ) or choose a package provided by your OS-vendor / cloud-provider.
Java Features 8-19
As mentioned at the very beginning of this guide: Essentially all (don’t be picky now) Java 8 language features also work in Java 19. The same goes for all other Java versions in between.
Which in turns means that all language features from Java 8 serve as very good Java base knowledge and everything else (Java 9-19) is pretty much additional features on top of that baseline.
Here’s a quick overview of what the specific versions have to offer:
— Java 8 —
Java 8 was a massive release and you can find a list of all features at the Oracle website. There’s two main feature sets I’d like to mention here, though:
Language Features: Lambdas etc.
Before Java 8, whenever you wanted to instantiate, for example, a new Runnable, you had to write an anonymous inner class like so:
With lambdas, the same code looks like this:
You also got method references, repeating annotations, default methods for interfaces and a few other language features.
Collections & Streams
In Java 8 you also got functional-style operations for collections, also known as the Stream API. A quick example:
Now pre-Java 8 you basically had to write for-loops to do something with that list.
With the Streams API, you can do the following:
If you want more Java 8 practice
Obviously, I can only give a quick overview of each newly added Stream, Lambda or Optional method in Java 8 in the scope of this guide.
If you want a more detailed, thorough overview — including exercises — you can have a look at my Java 8 core features course.
— Java 9 —
Java 9 also was a fairly big release, with a couple of additions:
Collections
Collections got a couple of new helper methods, to easily construct Lists, Sets and Maps.
Streams
Streams got a couple of additions, in the form of takeWhile,dropWhile,iterate methods.
Optionals
Optionals got the sorely missed ifPresentOrElse method.
Interfaces
Interfaces got private methods:
Other Language Features
And a couple of other improvements, like an improved try-with-resources statement or diamond operator extensions.
JShell
Finally, Java got a shell where you can try out simple commands and get immediate results.
HTTPClient
Java 9 brought the initial preview version of a new HttpClient. Up until then, Java’s built-in Http support was rather low-level, and you had to fall back on using third-party libraries like Apache HttpClient or OkHttp (which are great libraries, btw!).
With Java 9, Java got its own, modern client — although in preview mode, which means subject to change in later Java versions.
Project Jigsaw: Java Modules and Multi-Release Jar Files
Java 9 got the Jigsaw Module System, which somewhat resembles the good old OSGI specification. It is not in the scope of this guide to go into full detail on Jigsaw, but have a look at the previous links to learn more.
Multi-Release .jar files made it possible to have one .jar file which contains different classes for different JVM versions. So your program can behave differently/have different classes used when run on Java 8 vs. Java 10, for example.
If you want more Java 9 practice
Again, this is just a quick overview of Java 9 features and if you want more thorough explanations and exercises, have a look at the Java 9 core features course.
— Java 10 —
There have been a few changes to Java 10, like Garbage Collection etc. But the only real change you as a developer will likely see is the introduction of the «var»-keyword, also called local-variable type inference.
Local-Variable Type Inference: var-keyword
Feels Javascript-y, doesn’t it? It is still strongly typed, though, and only applies to variables inside methods (thanks, dpash, for pointing that out again).
— Java 11 —
Java 11 was also a somewhat smaller release, from a developer perspective.
Strings & Files
Strings and Files got a couple new methods (not all listed here):
Run Source Files
Starting with Java 10, you can run Java source files without having to compile them first. A step towards scripting.
Local-Variable Type Inference (var) for lambda parameters
The header says it all:
HttpClient
The HttpClient from Java 9 in its final, non-preview version.
Other stuff
Flight Recorder, No-Op Garbage Collector, Nashorn-Javascript-Engine deprecated etc.
— Java 12 —
Java 12 got a couple new features and clean-ups, but the only ones worth mentioning here are Unicode 11 support and a preview of the new switch expression, which you will see covered in the next section.
— Java 13 —
You can find a complete feature list here, but essentially you are getting Unicode 12.1 support, as well as two new or improved preview features (subject to change in the future):
Switch Expression (Preview)
Switch expressions can now return a value. And you can use a lambda-style syntax for your expressions, without the fall-through/break issues:
Java Downloads
Java 17 LTS is the latest long-term support release for the Java SE platform. JDK 19 and JDK 17 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions.
JDK 19 will receive updates under these terms, until March 2023 when it will be superseded by JDK 20.
JDK 17 will receive updates under these terms, until at least September 2024.
- Java 19
- Java 17
Java SE Development Kit 19.0.2 downloads
Thank you for downloading this release of the Java™ Platform, Standard Edition Development Kit (JDK™). The JDK is a development environment for building applications and components using the Java programming language.
The JDK includes tools for developing and testing programs written in the Java programming language and running on the Java platform.
- Linux
- macOS
- Windows
JDK Script-friendly URLs
The URLs listed above will remain the same for JDK update releases to allow their use in scripts.
Release information
- Online Documentation
- Installation Instructions
- Release Notes
- Documentation License
- JDK 19 Licensing Information User Manual (includes third-party licenses)
- Certified System Configurations
- Readme
Java SE Development Kit 17.0.6 downloads
Thank you for downloading this release of the Java™ Platform, Standard Edition Development Kit (JDK™). The JDK is a development environment for building applications and components using the Java programming language.
The JDK includes tools for developing and testing programs written in the Java programming language and running on the Java platform.
- Linux
- macOS
- Windows
JDK Script-friendly URLs
The URLs listed above will remain the same for JDK update releases to allow their use in scripts.
Release information
- Online Documentation
- Installation Instructions
- Release Notes
- Documentation License
- JDK 17 Licensing Information User Manual (includes third-party licenses)
- Certified System Configurations
- Readme

Protect your investment—and more
Java SE subscribers get support for JDK 17, receive updates until at least October 2029, are entitled to GraalVM Enterprise, Java Management Service, and bundled patch releases (BPRs) with fixes not yet available to nonsubscribers, and more.
Java SE subscribers have more choices
Also available for development, personal use, and to run other licensed Oracle products.
- Java 8
- Java 11
Java SE Development Kit 8u361
Java SE subscribers will receive JDK 8 updates until at least December 2030.
The Oracle JDK 8 license changed in April 2019
The Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle JDK 8 licenses. This license permits certain uses, such as personal use and development use, at no cost — but other uses authorized under prior Oracle JDK licenses may no longer be available. Please review the terms carefully before downloading and using this product. FAQs are available here.
Commercial license and support are available for a low cost with Java SE Subscription.
Какую версию java выбрать
Java — это язык программирования и вычислительная платформа, впервые выпущенная компанией Sun Microsystems в 1995 году. Это базовая технология, на которой основываются многие современные программы (в том числе утилиты, игры и бизнес-приложения). Java работает на более чем 850 млн персональных компьютерах и в миллиардах устройств (в том числе в мобильных телефонах и в телевизорах) по всему миру.
Зачем нужен Java?
Есть множество приложений и веб-сайтов, которые будут работать, только если у вас установлена Java, и их число постоянно растет. Java обеспечивает быстродействие, безопасность и надежность. Java используется везде: от портативных компьютеров до центров обработки данных, от игровых приставок до научных суперкомпьютеров, от мобильных телефонов до Интернета!
Версии Java
На данный момент существует множество реализаций Java платформы, из которых популярны две – открытая версия OpenJDK и Oracle Java. Основные отличия между этими версиями заключается в том, что в Oracle Java содержатся некоторые закрытые компоненты, а так же компоненты, защищенные патентами. OpenJDK является реализацией спецификаций Java с полностью открытым исходным кодом. Начиная с 7 версии OpenJDK является эталонной реализацией Java SE. Для большинства пользователей нет особой разницы какой именно версией Java пользоваться, но в некоторых случаях закрытая реализация от Oracle проявляет себя с лучшей стороны.
Установка Java
OpenJDK
Установить последнюю версии JRE можно перейдя по ссылке слева или введя в терминале следующую команду:
Установить последнюю версии плагина для браузера можно перейдя по ссылке слева или введя в терминале следующую команду:
Установить последнюю версии пакета документации можно перейдя по ссылке слева или введя в терминале следующую команду:
Установка Oracle Java сторонним скриптом от проекта webupd8.org (JRE и JDK)
В связи с тем, что Oracle изменила условия распространения своей реализации Java, в репозитории Ubuntu не содержатся компоненты Oracle Java. Существует PPA организованный сайтом webupd8.org содержащий в себе программу, которая будет автоматически проверять версию Java на сайте Oracle и сравнивать её с версией установленной на вашем компьютере. Это позволяет обойти ограничения наложенные на распространение Oracle Java.
Чтобы добавить данный репозиторий и использовать последнюю версию Java с сайта Oracle, выполните в терминале следующие действия:
Кроме того, данный репозиторий изменяет зависимости пакетов, использующих Java, так, что становится возможным безболезненное удаление OpenJDK из системы.
Проверьте установленную версию:
Инсталятор требует подтвердить принятие лицензии, если вы хотите принять лицензию автоматически, то выполните команду:
Переключение между версиями Java. Вы можете установить Java 7 или другую версию командой:
После этого можно переключаться между версиями Java с помощью команд. Переключение на версию Java 7:
Переключение на версию Java 8:
Для автоматической установки переменных среды вы можете выполнить команду:
Поэтому, как вариант, если у вас нет программ использующих их, то не устанавливайте их.
Если вы переключаетесь между разными версиями Java, то также необходимо переустановить этот пакет. Для OpenJDK нету похожих пакетов поэтому для него придется указывать переменные среды вручную
Либо командой (добавленное командой export действует только до перезагрузки)
Переменная PATH должна зависить от JAVA_HOME и JRE_HOME, как показано в команде ниже. Команды с export должны быть набраны в консоли и тогда они будут действовать до перезагрузки системы. Или добавлены в конец файла /etc/profile и тогда они будут действовать после перезагрузки системы.
Тогда для быстрого переключения на другие пепременные среды при смене версий Java нужно менять только эти переменные среды:
Скорее всего данный скрипт именно так устанавливает переменную PATH так что вам не нужно будет её менять и нужно выполнить только последние три комманды.
Установка различных версий Java через графическое меню может быть сделана сторонним скриптом от Bruce Ingalls.