Menginstal Java SE 7u10, masih menggunakan 7u10ea pada OS X?

1

ketika saya mengetik java -versionsaya masih mendapatkan versi Early Access dan bukan JDK 7u10 yang stabil. tolong bagaimana cara memperbaikinya? Saya bekerja di Mac OS X Mountain Lion .

ls /System/Library/Frameworks/JavaVM.framework/Versions

  • 1.5.0
  • 1.6
  • 1.6.0
  • A <-?
  • <- saat ini?
  • CurrentJDK <-?

Apa itu ? singkatan tolong?

/usr/libexec/java_home -V

Matching Java Virtual Machines (3):
    1.7.0_10, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
    1.6.0_37-b06-434, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_37-b06-434, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home

Masalahnya adalah java -version-> java version "1.7.0_10-ea" EA !

Yang terburuk adalah /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/bin/java -versiontunjukkan EA .

IamaTacos
sumber
1
Periksa jalur sistem Anda. Saya bertaruh bahwa JDK yang lebih baru belum menjadi bagian dari pernyataan path.
Hovercraft Full Of Belut
periksa apa tepatnya?
IamaTacos
Saya menemukan folder yang menarik ini:/System/Library/Frameworks/JavaVM.framework
IamaTacos
@HovercraftFullOfEels ...?
IamaTacos
OS apa yang sedang Anda kerjakan? Jika windows, maka buka jendela perintah, dan ketikpath<return>
Hovercraft Full Of Belut

Jawaban:

1

1,7 JDK tidak masuk /System/Library/Frameworks, mereka masuk ke /Library/Java/JavaVirtualMachines. Ketika Anda menjalankannya /usr/bin/javamengambil instalasi Java yang sesuai untuk digunakan

  • Jika Anda memiliki JAVA_HOMEset variabel lingkungan, maka itu akan menggunakan versi itu
  • jika tidak, ia akan memilih JDK terinstal "terbaik" dari yang tersedia di /Library/Java/JavaVirtualMachinesdan /System/Library/Java/JavaVirtualMachines, Anda dapat menjalankan /usr/libexec/java_homeuntuk melihat mana yang dianggap sistem "terbaik".

Tentu saja, jika Anda telah menambahkan secara manual /Library/Java/JavaVirtualMachines/<something>/Contents/Home/binke PATHdepan /usr/binmaka javaakan berarti bahwa versi spesifik daripada yang dipilih oleh sistem. Anda dapat memeriksa ini dengan menjalankan which java.

Untuk memperumit masalah, ada salinan JRE lain di /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Homedalamnya, yang digunakan untuk plugin browser dan untuk .appbundel gaya 1.7 yang tidak menanamkan JRE mereka sendiri.

Ian Roberts
sumber
Ia menemukan tiga Java Virtual Machine yang terinstal tetapi mengambil yang berbeda. Ia menemukan JVM 1.7.0u10dan mengambilJVM 1.7.0u10ea
IamaTacos
Ketika saya melakukannya java -versionsaya mendapatkan 1.7.0_10-easaya harus mendapatkan 1.7.0_10!
IamaTacos
@ AIMJIMohamed dan sudah javapasti /usr/bin/java? Coba which javacari tahu itu.
Ian Roberts
mana java -> /usr/bin/java.
IamaTacos
Saya belum pernah melakukan sesuatu secara manual.
IamaTacos