(Diselesaikan) Pembolehubah persekitaran java_home tidak ditakrifkan dengan betul pada macOS

(Diselesaikan) Pembolehubah persekitaran java_home tidak ditakrifkan dengan betul pada macOS

Java_Home adalah pemboleh ubah persekitaran yang digunakan oleh pelbagai aplikasi berasaskan Java untuk mencari JVM (JDK) di mana-mana sistem. Begitu juga, Maven juga memerlukan java_home untuk ditetapkan dengan betul pada sistem anda.

Masalah:

Semasa saya cuba menyemak versi Maven di PC macOS kami, saya mendapat ralat berikut dalam output.

MVN --version  Pemboleh ubah persekitaran Java_Home tidak ditakrifkan dengan betul, pemboleh ubah persekitaran ini diperlukan untuk menjalankan program ini. 
Ralat: Pembolehubah persekitaran java_home tidak ditakrifkan dengan betul

Penyelesaian:

Memandangkan mesej ralat jelas menunjukkan bahawa pembolehubah persekitaran java_home tidak ditetapkan pada PC saya. Oleh itu, penyelesaian mudah adalah untuk menetapkannya dengan betul. Gunakan langkah di bawah untuk menyelesaikan masalah ini.

The MacOS 10.5 (Catalina) Dan versi kemudian Gunakan ZSH sebagai shell lalai. Versi lama menggunakan shell bash. Jadi yang pertama adalah untuk mengenal pasti cangkang yang berjalan pada sistem anda. Buka terminal dan jenis:

echo $ shell  

Untuk ZSH output akan /bin/zsh dan untuk Bash shell output akan berlaku /bin/bash.

Sekarang, tetapkan pembolehubah persekitaran java_home berdasarkan shell aktif:

  • ZSH (/bin/ZSH): Edit ~/.Zshenv fail dan tambahkan kod di bawah.
    ~/.Eksport zshenv java_home = $ (/usr/libexec/java_home) 
  • Bash (/bin/bash): Edit ~/.BASH_PROFILE fail dan tambahkan kod di bawah.
    ~/.BASH_PROFILE Eksport Java_home = $ (/usr/libexec/java_home) 

Ini harus menyelesaikan masalah sistem anda. Untuk mengesahkan, buka shell baru dan cetak nilai pembolehubah persekitaran java_home dan juga sahkan dengan arahan anda mendapat ralat.

echo $ java_home  MVN --version  
Diselesaikan: java_home tidak ditakrifkan dengan betul

Catatan: Sekiranya masalah masih belum diselesaikan setelah menetapkan pembolehubah persekitaran dengan betul, pastikan skrip lain tidak mengatasinya. Anda boleh mencari pesanan skrip pelaksanaan di sini.