Find linux java home

How to set JAVA_HOME and PATH in Linux? Example

Like in the previous article, I explained a Maven issue (invalid target release: 1.7, 1.8) related to the Java version, which occurred even though the correct version of Java was installed on the machine, but JAVA_HOME was pointing to an older version.

Unfortunately, When you install Java on Linux or Windows, this environment variable is not set automatically. You need to do it yourself. Java developers like me always set mandatory environment variables like JAVA_HOME, PATH, and CLASSPATH on the login scripts executed by the shell when you log in to Linux like bash_profile.sh , but you can also set JAVA_HOME into /etc/profile for all users.

I’ll show you steps on how to find the location of Java and how to set up the JAVA_HOME in Linux in this article, and these steps should also work with any Linux or Java version like Ubuntu, RedHat, CentOS, SUSE, ArchLinux, Debian, Fedora, etc.

Though I strongly encourage every Java developer to learn Linux, it’s a really important skill and serves you for a long time. If you decide to improve your Linux skill this year, I suggest you take a look at these best online Linux courses, which are both short and sweet and also explains all important details.

1. Steps to set JAVA_HOME in Linux

1) The first step is to find the location where Java is installed on your Linux machine. To check that open putty and connect to your Linux server and type the following command

where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-server to select the «server» VM

It means Java is installed and added to your PATH, so half of the job is done already. All you need to is find the location of JDK, which you can find either by printing PATH as follows

You can see that JDK is installed on «/usr/sun/jdk/v1.6.0_16-64bit».

2) Add the following line of your .bash_profile file if you want to set JAVA_HOME for yourself or /etc/profile if you want to set JAVA_HOME for all user

That’s it you are done. Though don’t forget to open another shell window by typing bash , csh , or ksh . The new environment variable will not be added to an existing shell, you need to open a new shell window.

Also, if you use bash shell then adding into

/.bash_profile makes sense, if you use csh (C shell) then add JAVA_HOME into

/.csh_profile, and similarly for ksh (K shell) add JAVA_HOME into

They are hidden files in your home directory in Linux, that’s why they had prefix dot (.) in their name. You can use «ls — alrt» command to see them.

Here is a sample /etc/profile file with JAVA_HOME and PATH variable defined for your reference:

By the way, if you don’t see Java installed on your machine, then download the Linux version of Java from Oracle’s website and install it.

Once you are done with installation just find the folder where JDK is installed and follow the steps given above to set JAVA_HOME for your Linux environment.

For applications, JAVA_HOME is generally referred to on the start script. It’s bad practice to refer to the hardcoded path of Java installation in scripts, you will never find Tomcat, Maven, Eclipse, NetBeans, or IntelliJ doing that because then when you update to a new Java version they won’t be able to use it until you change their start script.

Читайте также:  Mount unknown filesystem type linux raid member

Using JAVA_HOME makes it easy to switch to a different or new Java version. See these free Java development courses to learn more about the core concepts of Java in detail. It’s updated for Java 11 and also not very expensive, I just bouthbought11 a couple of days ago.

2. Why should you set JAVA_HOME in Linux

Even though many developers know about JAVA_HOME, they don’t set it in their environment due to various reasons. I strongly recommend you to set JAVA_HOME , PATH , and CLASSPATH for your development environment. Here are some reasons why you set JAVA_HOME in Linux

1) It’s easy to upgrade JDK without affecting your application startup and config file, which points to JAVA_HOME . You just need to download a new version and make sure your JAVA_HOME points to the new version of Java. This is the best benefit of using an environment variable or links.

2) The JAVA_HOME variable is short and concise instead of the full path to the JDK installation directory.

3) JAVA_HOME variable helps your program achieve platform independence like if your startup script uses JAVA_HOME, then it can run on Windows and UNIX without any modification; you just need to set JAVA_HOME on the respective operating system.

4) The JAVA_HOME is standard, which means other tools that need Java, like Maven, Eclipse can refer to this variable without having any knowledge of where Java is physically installed on your machine, which is obviously different in different user’s machines. JAVA_HOME allows everybody to access Java in a common and standard way.

I also suggest joining Java Fundamentals: The Java Language course on Pluaralsight to learn more about Java fundamentals like this one.

That’s all about how to set the JAVA_HOME environment variable in Linux. I have also touched base on why you should do it, which is probably more important. Many tools like Maven and IDEs like Eclipse and Netbeans use this variable to locate the JDK binaries installed on this machine, hence it’s better to set this up. If you face any problem while setting and using the JAVA_HOME environment variable, feel free to ask. I’ll be glad to help you out.

Источник

Как найти JAVA_HOME

Узнайте, что существует несколько способов найти JAVA_HOME, в том числе независимый от платформы.

Автор: baeldung
Дата записи

1. введение

В этом кратком посте мы узнаем, как найти JAVA_HOME в Windows, Mac и Linux.

Как мы все знаем, JAVA_HOME – это переменная среды, которую мы обычно используем для поиска исполняемых файлов java, таких как java и javac .

2. Специфичные для Windows способы поиска JAVA_HOME

Если мы используем Windows в качестве операционной системы, сначала нам нужно открыть нашу командную строку ( cmd ) и ввести:

Если JAVA_HOME определен в нашей среде, то приведенная выше команда распечатает его.

Или мы могли бы попробовать:

Который покажет местоположение исполняемого файла java .

3. Специфичные для macOS и Linux способы поиска JAVA_HOME

Если мы используем macOS или Linux, мы можем открыть наш терминал и ввести:

Если JAVA_HOME определен в нашей среде, то приведенная выше команда распечатает его.

Или мы могли бы попробовать:

Что, вероятно, просто показывает нам /usr/bin/java.

Но на самом деле это не очень полезно, так как это символическая ссылка. Чтобы разгадать это, мы будем использовать dirname и readlink ;

В результате эта команда выводит используемую в данный момент папку java.

4. Использование Java для поиска JAVA_HOME

И, если мы можем запустить java сами, то у нас тоже есть почти независимый от платформы способ:

Читайте также:  Twitch приложение для windows

Выполнение этой команды выводит множество свойств, одним из которых является java.home.

Однако для его анализа нам все равно понадобится инструмент для конкретной платформы.

Для Linux и macOS , давайте использовать grep :

А для Windows давайте использовать findstr :

5. Заключение

С помощью этого быстрого сообщения мы узнали, как найти JAVA_HOME в разных операционных системах.

Если они не сработали, возможно, мы неправильно установили переменную JAVA_HOME при установке Java.

Источник

Установка Java (JDK) в Windows и Linux, переменная PATH и JAVA_HOME

Java — язык общего назначения, основанных на классах, поддерживающий многопоточность и являющийся объектно-ориентированным. Программы на Java компилируются в так называемый byte-код, который в свою очередь запускается Виртуальной Машиной Java (Java Virtual Machine — JVM), независимо от архитектуры компьютера. На данный момент последняя версия Java двенадцатая.

Ниже мы рассмотрим — как установить Java на Windows и Linux. Для каждой из платформ создана своя версия JDK, JRE и JVM, хотя сами программы на Java и не меняются от платформы к платформе (что логично).

Давайте проясним несколько вещей перед тем, как мы начнем.

  • JDK (Java Development Kit) — эта штука нужна для разработчиков на Java (то есть нас) и включает в себя инструменты разработки, документирования, упаковки и так далее (в том числе компилятор Javac, Javadoc, Jar-упаковщик и дебаггер).
  • JRE (Java Runtime Environment) — сюда включены библиотеки Java, которые необходимы для запуска Java-программ. Эта штука нужна обычным пользователям и не содержит инструментов для разработки.
  • JVM (Java Virtual Machine) — это и есть сама виртуальная машина Java, которая непосредственно и запускает наши Java-программы (байткод). Ее реализация написана для множества железа и платформ.

Установка Java (JDK) в Windows

Первым делом необходимо скачать JDK с официальной страницы Oracle. В нашем случае нужна версия под Windows, в самом низу.

После установки запустите скачанный exe-файл и установите его на ваш компьютер. Как только вы это сделаете, нужно будет настроить окружение.

Перейдите в Панель управления -> Система и безопасность -> Система. На вкладке «Дополнительно» нажмите на «Переменные среды», как показано ниже:

Теперь нужно найти и дополнить переменную PATH так, чтобы она содержала путь до установленной Java. Выберите PATH и нажмите «Изменить»:

Вы увидите список уже установленных переменных. Сейчас необходимо нажать «Новый» и добавить путь, по которому установлена Java (каталог bin!). По умолчанию это обычно «C:\Program Files(x86)\Java\jdk\bin».

Нажмите «Готово» (или «Ок»), сохраните настройки и на этом всё готово! Чтобы проверить, что установка прошла корректно, откройте консоль и введите:

Если вы получили сведения о версии Java, значит всё хорошо.

Установка Java (JDK) на Linux

В Linux есть несколько способов установить Java. Мы опишем самый простой и быстрый, с использование терминала. И в данном случае мы установим OpenJDK. OpenJDK — это бесплатная и свободная реализация виртуальной машины Java, причем очень популярная.

Откройте терминал и напишите команду для установки пакета:

Осталось подтвердить установку и на этом всё, Java установлена! Единственное, что меняется — это прописывание путей до компилятора.

Чтобы прописать JAVA_HOME в окружение, выполните следующую команду (только убедитесь, что такой каталог уже есть):

Чтобы прописать компилятор Java в PATH, выполните другую команду (опять же, ваши пути до Java могут отличаться от моих):

На этом установка закончена. Чтобы проверить, что всё работает правильно, достаточно написать в терминале:

О том, как же всё-таки писать на Java, мы расскажем в следующий раз.

Источник

Как установить JAVA HOME в Linux для всех пользователей

Я новичок в системе Linux, и, похоже, слишком много папок Java.

Java-версия дает мне:

  • java версия «1.7.0_55»
  • среда выполнения OpenJDK (rhel-2.4.7.1.el6_5-x86_64 с U55 кол-В13)
  • OpenJDK 64-разрядный сервер VM (сборка 24.51-b03, смешанный режим)

когда я пытаюсь построить проект Maven , я получаю ошибку:

не могли бы вы сказать мне, какие файлы мне нужно изменить для root, а также не-root пользователь и где именно находится java?

14 ответов

добавить sudo, если вы вошли в систему как не привилегированный пользователь, т. е. sudo vim

Читайте также:  Zyxel keenetic vpn сервер настройка подключения windows 10
  • выйдите из системы и войдите снова, перезагрузитесь или используйте source /etc/profile чтобы немедленно применить изменения в текущей оболочке
  • для всех пользователей, я бы рекомендовал поместить следующую строку в /etc/profile

    это будет обновляться динамически и хорошо работает с варианты

    вы можете использовать /etc/profile или лучше файл типа /etc/profile.d/jdk_home.sh

    вы должны помнить, что этот файл загружается только с новыми снарядами входа.. Поэтому после bash-l или нового gnome-сеанса и что он не меняется с новыми версиями Java.

    ни один из других ответов не «прилипал» для меня в RHEL 7, даже установка JAVA_HOME и PATH непосредственно в /etc/profile или

    /.bash_profile не будет работать. Каждый раз, когда я пытался проверить, если JAVA_HOME был установлен, он будет пустым:

    то, что я должен был сделать, это настроить скрипт на /etc/profile.d/jdk_home.sh :

    я изначально пренебрег первой строкой ( #!/bin/sh ), и он не будет работать без него.

    теперь он работает:

    очень легко установить путь в Linux . Сделайте следующее:

    Шаг 1 откройте терминал и введите sudo gedit .bashrc

    Шаг 2 он спросит у вас пароль . После ввода пароля он откроет файл bash . Затем перейдите в конец и введите ниже

    Шаг 3

    Шаг 4 сохраните файл и выйдите из файл

    выше для одного пользователя. Для всех пользователей, вы должны следовать ниже шаги

    Шаг 1 gedit /etc/profile

    Шаг 2 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

    Шаг 3 export PATH=$PATH:$JAVA_HOME/bin

    надеюсь, что это помогает. Спасибо!

    делать то, что делает Oracle (как бывший сотрудник Sun, я не могу привыкнуть к этому)

    ln-s latestJavaRelease/usr/java / по умолчанию
    Где latestJavaRelease-это версия, которую вы хотите использовать

    затем экспортируйте JAVA_HOME= / usr/java / default

    копировать в папку bin файл установлен

    откройте терминал и отредактируйте файл среды, введя следующую команду,

    «sudo nano / etc / environment»

    в этом файле добавьте следующую строку (заменив YOUR_PATH только что скопированным путем):

    этого должно быть достаточно, чтобы установить переменную окружения. Теперь перезагрузите этот файл:

    «источник / etc / environment»

    теперь проверьте его выполнение:

    Эхо $переменной JAVA_HOME

    в Linux я добавляю эту строку в свой

    ответ дан предыдущим постам действует. Но ни один ответ не является полным в отношении:

    1. изменение профиля / etc / не рекомендуется просто по причине (как указано в/etc / profile):
    • Это не хорошая идея, чтобы изменить этот файл, если вы не знаете, что вы делаете. Гораздо лучше создать custom.sh сценарий оболочки в / etc / профиль.d / для внесения пользовательских изменений в среду, как это помешает необходимость слияния в будущих обновлениях.*

    Так как указано выше создать /etc/profile.d/custom.sh файл для пользовательских изменений.

    теперь, чтобы всегда обновлять новые версии Java, никогда не ставьте абсолютный путь, вместо этого используйте:

    #Если сделать jdk как java home

    экспорт переменной JAVA_HOME=$(и более ранних версий -Ф /usr/Бен/и javac | СЭД «s:/bin/javac::»)

    #Если сделать jre как java home

    экспорт JAVA_HOME=$(readlink-f/usr/bin | java / sed «s:/bin/java::»)

    1. и не забудьте иметь #! / bin / bash на custom.sh файл

    пока мы до установки JAVA_HOME, позвольте мне поделиться некоторыми преимуществами установки JAVA_HOME или любой другой переменной среды:

    1) легко обновить JDK, не влияя на запуск приложения и файл конфигурации, который указывает на JAVA_HOME. вам просто нужно скачать новую версию и убедиться, что ваш JAVA_HOME указывает на новую версию Java. Это лучшее преимущество использования переменной среды или ссылок.

    2) переменная JAVA_HOME короткая и сжатая, а не полная путь к каталогу установки JDK.

    3) переменная JAVA_HOME-это независимость платформы, т. е. если ваш скрипт запуска использует JAVA_HOME, то он может работать в Windows и UNIX без каких-либо изменений, вам просто нужно установить JAVA_HOME в соответствующей операционной системе.

    публикация в качестве ответа, так как у меня нет привилегии комментировать.

    отметить: следуйте принятому ответу, опубликованному «этим парнем Дэйвом».

    после установки переменных, убедитесь, что вы установили соответствующие разрешения для каталога Java, где он установлен.

    вероятно, хорошая идея для источника любого профиля, который вы редактируете, чтобы сохранить необходимость использовать новый логин.

    либо: источник /и т. д./ или . / etc/

    где находится любой профиль, который вы редактировали.

    Источник

    Оцените статью