Як постійно встановити змінні середовища PATH та M2_HOME в ubuntu для maven3?


30

Я завантажив останній файл apache-maven3.zip і випав його в папку: /home/gaurav/Java/maven3 .

Я не знаю, як встановити змінні середовища для maven - наприклад, PATH та M2_HOME.

Я спробував нижче:

export M2_HOME=/home/gaurav/Java/maven3

export PATH= /home/gaurav/Java/maven3/bin:${PATH}

Встановивши це, я побіг mvn --version і він працює правильно.

Але коли я наступного разу запускаю свою машину і набираю $M2_HOMEїї, вона не показує мені деталей змінних контурів, і mvn --versionце не виконується.

Будь ласка, допоможіть мені вирішити цю проблему постійного встановлення змінних середовища в Ubuntu.


Погляньте на це
Мітч

Відповіді:


22

Оновлення: Ілля вказав мені, що якщо ви не динамічно створюєте змінні середовища, вам слід зберігати їх /etc/environment. Щоб встановити M2_HOMEта додати binкаталог у свій PATH, ви змінили б /etc/environmentнаступне. Переконайтеся, що ви не просто копіюєте / вставляєте, тому що у вашому /etc/environmentфайлі може бути інша PATHзмінна, ніж у мене.

M2_HOME="/home/gaurav/Java/maven3"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/gaurav/Java/maven3/bin"


Альтернативний (не як рекомендований) метод: Як сказав Мітч, вам потрібно буде відредагувати файл конфігурації, щоб остаточно змінити свій PATH. Я вирішив редагувати свій /etc/profileконфігураційний файл, оскільки він застосовується на всій системі. Щоб відредагувати цей файл, запустіть sudo nano /etc/profileось відповідний уривок з мого конфігураційного файла:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

JAVA_HOME=/usr/lib/jvm/java-6-oracle/
export JAVA_HOME

M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
export M2_HOME
M2=$M2_HOME/bin
export M2

PATH=$PATH:$JAVA_HOME
PATH=$PATH:$M2
export PATH

1
Будь-яка причина, а не просто поставити JAVA_HOME, а M2_HOME, і M2визначення /etc/environment, а не?
Eliah Kagan

Це, безумовно, семантично правильна річ (адже /etc/environmentце рекомендоване місце для зберігання змінних оточуючих систем). Але я просто хотів зберегти всі змінні середовища в одному місці. Якби я міг динамічно будувати свою PATHзмінну лише за допомогою /etc/environment, я б негайно переключився.
Коннор Брінтон

1
Оскільки це ваша мотивація, ви можете додати використання /etc/environmentв якості альтернативи, враховуючи, що ціль розміщення всіх змінних завдань вашого оточення в одному місці не обов'язково є ціллю ОП або метою більшості інших людей, які приходять до цього питання. Також ви можете переглянути цю мету: більшість часу змінні середовища потрібно додавати на рівні облікового запису користувача, щоб впливати лише на одного користувача. (Тоді вони можуть увійти ~/.pam_environmentабо ~/.profile.) Це правда, що деякі призначення змінної середовища є динамічними і повинні бути в сценаріях.
Eliah Kagan

@ connor.brinton, хоча я сказав, що шлях за допомогою вищевказаного методу (редагування /etc/environment) мій шлях досі не встановлений
Kasun Siyambalapitiya

3

Ви повинні додати свій PATH до /etc/bash.bashrc як корінь.

З root виконайте наступні дії:

  1. sudo nano /etc/bash.bashrc
  2. В кінці файлу додайте такий рядок:

    PATH=/home/computer/application/bin:$PATH  
    

Це лише псевдо адреса. Змініть його відповідно до потрібної адреси та додайте :$PATHпісля неї.

Це для Ubuntu.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.