Pyjnius: Ketidakcocokan dengan Java 9 - Jalur JRE berubah

Dibuat pada 19 Okt 2017  ·  11Komentar  ·  Sumber: kivy/pyjnius

PyJnius mencari jalan

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jre/lib/server/libjvm.dylib

tetapi folder jre tidak ada lagi dalam hierarki ini dan harus dicari

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/libjvm.dylib

bug

Komentar yang paling membantu

Ini bukan hanya masalah OSX jika Anda menggunakan open-jdk folder jre tidak ada lagi. Setiap versi jdk terbuka >= 9 tidak lagi memiliki folder jre. Lihat http://openjdk.java.net/jeps/220 sejak Java 9 hierarki folder direstrukturisasi. Jalur jre/lib/AMD64/server/libjvm.so tidak lagi valid ( https://github.com/kivy/pyjnius/blob/1cbfef23fb9fcb0f15dcbfd8f4cd1fc9a54986b6/setup.py#L163 ).

Semua 11 komentar

Sepertinya ini hanya perlu sedikit perubahan di https://github.com/kivy/pyjnius/blob/master/setup.py#L82 , tapi saya tidak yakin persis apa yang harus berbeda (mis. framework memiliki nilai tertentu?). Apakah Anda dapat memposting output dari /usr/libexec/java_home ?

Saya menjalankan Mac OS 10.13 dengan Java dari brew cask install java .

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home

Sebagai catatan tambahan, di masa lalu, dengan opsi -v , Anda harus melakukan /usr/libexec/java_home -v 1.8 tetapi sekarang Anda harus melakukannya /usr/libexec/java_home -v 9 . Sepertinya mereka telah berkomitmen untuk skema versi baru.

Hai @inclement , saya baru saja kembali ke sini sekarang. Apakah umpan balik ini cukup untuk membuat pembaruan?

Teman-teman, ada pembaruan?

Ini bukan hanya masalah OSX jika Anda menggunakan open-jdk folder jre tidak ada lagi. Setiap versi jdk terbuka >= 9 tidak lagi memiliki folder jre. Lihat http://openjdk.java.net/jeps/220 sejak Java 9 hierarki folder direstrukturisasi. Jalur jre/lib/AMD64/server/libjvm.so tidak lagi valid ( https://github.com/kivy/pyjnius/blob/1cbfef23fb9fcb0f15dcbfd8f4cd1fc9a54986b6/setup.py#L163 ).

Bug itu juga akan memengaruhi penggunaan Java >= 9 menggunakan build conda-forge yang akan segera dirilis: https://github.com/conda-forge/openjdk-feedstock/pull/34 , https:// github.com/conda-forge/openjdk-feedstock/pull/35 , https://github.com/conda-forge/openjdk-feedstock/pull/36

Pyjnius 1.1.4 perlu menghapus DYLD_LIBRARY_PATH dengan JRE 1.8 terlepas dari apakah nilainya benar atau tidak. Meskipun tidak kompatibel ke belakang, ada baiknya untuk tidak mempedulikannya lagi di lingkungan.

@rhoerbe Bisakah Anda menautkan beberapa dokumentasi/log perubahan resmi mengapa perubahan ini terjadi. Saya ingin tahu apakah ini memiliki implikasi lain untuk keseluruhan sistem dan bukan hanya Java.

Masalah terjadi dalam Pycharm IDE dalam proyek yang agak besar yang tidak cocok untuk mengisolasi masalah. Saat membuat demo-repo terpisah, saya tidak dapat mereproduksinya.

Sekarang saya memiliki beberapa komitmen di depan, dan mengubah pengaturan Django, dan tidak dapat mereproduksi masalah dalam proyek utama saya lagi. Ada beberapa kombinasi untuk menguji untuk mereproduksi - saya menyerah.

Apa yang dapat saya jelaskan adalah bahwa menurunkan pyjnius dari 1.1.4 ke 1.1.3 memperbaiki masalah. Namun, untuk mereproduksinya tampaknya ada faktor lain selain JRE 1.8 dan DYLD_LIBRARY_PATH.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat