GNU/Linux >> Belajar Linux >  >> Linux

Gradle menemukan JAVA_HOME yang salah meskipun disetel dengan benar

Ternyata biner Gradle tertentu yang saya unduh dari repositori Ubuntu 13.10 itu sendiri mencoba mengekspor JAVA_HOME. Terima kasih kepada Lucas karena telah menyarankan ini.

/usr/bin/gradle baris 70:

export JAVA_HOME=/usr/lib/jvm/default-java

Mengomentari baris ini menyelesaikan masalah, dan Gradle menemukan jalur yang benar ke biner Java.

Jika Anda baru saja mengunduh biner dari situs web mereka, masalah ini tidak terjadi, Ini masalah dengan versi repo Ubuntu. Tampaknya juga ada beberapa masalah lain dengan versi 13.10.


tambahkan tautan simbolik

sudo ln -s /usr/lib/jvm/java-7-oracle /usr/lib/jvm/default-java

Solusinya adalah membuat JAVA_HOME ==dir di atas bin tempat javac berada seperti di

type javac

javac is /usr/bin/javac   # now check if its just a symlink

ls -la /usr/bin/javac 

/usr/bin/javac -> /etc/alternatives/javac   # its a symlink so check again

ls -la /etc/alternatives/javac  # now check if its just a symlink

/etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac

OK akhirnya menemukan bin di atas javac yang sebenarnya, jadi lakukan ini

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

di atas dapat disederhanakan dan digeneralisasi menjadi

which javac >/dev/null 2>&1 || die "ERROR: no 'javac' command could be found in your PATH"
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)  )))

Linux
  1. Bagaimana Cara Benar Menambahkan Path To Path?

  2. Temukan JAVA_HOME dan atur di RHEL

  3. Instal PIP tidak dapat menemukan ffi.h meskipun ia mengenali libffi

  1. Linux Framebuffer mengatur resolusi dengan benar

  2. dlsym mengembalikan NULL, meskipun simbolnya ada

  3. Virtualenv menggunakan python yang salah, meskipun yang pertama di $PATH

  1. Contoh Perintah Ekspor Linux (Cara Mengatur Variabel Lingkungan)

  2. Linux, Mengapa saya tidak bisa menulis meskipun saya memiliki izin grup?

  3. Apa cara terbaik untuk mengatur variabel lingkungan di .bashrc?