Panduan Kompatibilitas untuk JDK 8 mengatakan bahwa di Java 8 bendera baris perintah MaxPermSizetelah dihapus. Alasannya adalah bahwa generasi permanen telah dihapus dari tumpukan hotspot dan dipindahkan ke memori asli. Jadi untuk menghapus pesan ini, edit MAVEN_OPTS Variabel Pengguna Lingkungan:
Ini hanya secara tidak langsung menjawab pertanyaan ... Jawabannya adalah "hapus bendera untuk menghapus peringatan". Seperti yang diungkapkan oleh komentar dari @ ohad-schneider, tidak ada satu pun pengganti untuk mereka.
conny
10
-XX:MaxPermSize=size
Menetapkan ukuran ruang pembangkitan permanen maksimum (dalam byte). Opsi ini sudah tidak digunakan lagi dalam JDK 8, dan digantikan oleh -XX:MaxMetaspaceSizeopsi.
-XX:PermSize=size
Mengatur ruang (dalam byte) yang dialokasikan untuk generasi permanen yang memicu pengumpulan sampah jika terlampaui. Opsi ini sudah tidak digunakan lagi dalam JDK 8 , dan digantikan oleh -XX:MetaspaceSizeopsi.
Saya pikir ini downvoted karena menyiratkan bahwa Anda harus beralih menggunakan sebelumnya MaxPermGendengan MaxMetaSpaceSizeyang menyesatkan, karena peran mereka telah praktis terbalik. Sebelum Java 8, ruang metadata berada di PermGen yang dibatasi 32 / 64MB, dan MaxPerGendigunakan untuk meningkatkannya . Mulai dari Java 8, PermGen tidak lebih dan ruang metadata kelas tidak terbatas, jadi MaxMetaspaceukuran sebenarnya digunakan untuk menguranginya . Untuk informasi lebih lanjut, lihat: stackoverflow.com/a/31463972/67824
Ohad Schneider
8
Di JBoss EAP 6.4, klik kanan pada server dan buka konfigurasi peluncuran di bawah argumen VM Anda akan menemukan
Saya mendapat pesan serupa ketika menjalankan command line mvn (versi 3.3.3) di Linux dengan Java 8. Dengan membuka skrip maven / $ MAVEN-HOME / bin / mvn, temukan baris berikut
Di mana $ MAVEN_PROJECTBASEDIR secara default adalah direktori home Anda. Jadi, dua tempat yang dapat Anda lihat, pertama adalah file $ MAVEN_PROJECTBASEDIR / .mvn / jvm.config jika ada. Kedua, lihat file yang mungkin mengatur variabel lingkungan MAVEN_OPTS. File kandidat adalah .bashrc, .bash_profile, .profile dan file-file yang disertakan oleh mereka seperti / etc / profile, /etc/bash.bashrc
seandainya seseorang masih mendapatkan pesan semacam ini. Itu terjadi karena Anda menambahkan argumen JVM ketika menjalankan proyek pakar. Karena ini terkait dengan maven, Anda dapat memeriksa pom.xmlfile di proyek Anda.
temukan baris ini <argLine>...</argLine>, pada proyek saya, saya juga punya argumen di bawah ini
Untuk mengatasi masalah ini, kami baru saja menetapkan jalur JDK yang terpasang di
standalone.conf
file yang di bawah folder bin JBoss \ Wildfly Server. Untuk mengatasi ini kami lakukan langkah-langkah berikut:
Buka file standlone.conf yang berada di bawah folder JBoss_or_wildfly \ bin
Dalam file ini temukan teks #JAVA_HOME .
Hapus karakter # dan setel path JDK Anda yang terinstal sebagai
JAVA_HOME = "C: \ Program Files \ Java \ jdk1.8.0_65"
Semoga ini akan menyelesaikan masalah Anda Terima kasih
Jawaban:
Panduan Kompatibilitas untuk JDK 8 mengatakan bahwa di Java 8 bendera baris perintah
MaxPermSize
telah dihapus. Alasannya adalah bahwa generasi permanen telah dihapus dari tumpukan hotspot dan dipindahkan ke memori asli. Jadi untuk menghapus pesan ini, edit MAVEN_OPTS Variabel Pengguna Lingkungan:Java 7
Java 8
sumber
sudo gedit ~/.profile
, tambahkan baris dari jawaban di sana dan simpan file.sudo
mengedit file di folder rumah Anda? Sepertinya latihan yang sangat aneh bagi saya.The JDK 8 HotSpot JVM sekarang menggunakan memori asli untuk representasi metadata kelas dan disebut Metaspace .
Generasi permanen telah dihapus. Itu
PermSize
danMaxPermSize
diabaikan dan peringatan dikeluarkan jika mereka ada di baris perintah.sumber
Menetapkan ukuran ruang pembangkitan permanen maksimum (dalam byte). Opsi ini sudah tidak digunakan lagi dalam JDK 8, dan digantikan oleh
-XX:MaxMetaspaceSize
opsi.Mengatur ruang (dalam byte) yang dialokasikan untuk generasi permanen yang memicu pengumpulan sampah jika terlampaui. Opsi ini sudah tidak digunakan lagi dalam JDK 8 , dan digantikan oleh
-XX:MetaspaceSize
opsi.sumber
MaxPermGen
denganMaxMetaSpaceSize
yang menyesatkan, karena peran mereka telah praktis terbalik. Sebelum Java 8, ruang metadata berada di PermGen yang dibatasi 32 / 64MB, danMaxPerGen
digunakan untuk meningkatkannya . Mulai dari Java 8, PermGen tidak lebih dan ruang metadata kelas tidak terbatas, jadiMaxMetaspace
ukuran sebenarnya digunakan untuk menguranginya . Untuk informasi lebih lanjut, lihat: stackoverflow.com/a/31463972/67824Di JBoss EAP 6.4, klik kanan pada server dan buka konfigurasi peluncuran di bawah argumen VM Anda akan menemukan
perbarui untuk
ini akan menyelesaikan masalah Anda.
sumber
Saya mendapat pesan serupa ketika menjalankan command line mvn (versi 3.3.3) di Linux dengan Java 8. Dengan membuka skrip maven / $ MAVEN-HOME / bin / mvn, temukan baris berikut
Di mana $ MAVEN_PROJECTBASEDIR secara default adalah direktori home Anda. Jadi, dua tempat yang dapat Anda lihat, pertama adalah file $ MAVEN_PROJECTBASEDIR / .mvn / jvm.config jika ada. Kedua, lihat file yang mungkin mengatur variabel lingkungan MAVEN_OPTS. File kandidat adalah .bashrc, .bash_profile, .profile dan file-file yang disertakan oleh mereka seperti / etc / profile, /etc/bash.bashrc
Saya berada
di .bashrc di sistem saya, ubah ke
masalah terselesaikan
sumber
seandainya seseorang masih mendapatkan pesan semacam ini. Itu terjadi karena Anda menambahkan argumen JVM ketika menjalankan proyek pakar. Karena ini terkait dengan maven, Anda dapat memeriksa
pom.xml
file di proyek Anda.temukan baris ini
<argLine>...</argLine>
, pada proyek saya, saya juga punya argumen di bawah iniAnda harus mengganti
MaxPermSize
argumen sebagai-Xms123m -Xmx123m
, karenaMaxPermSize
sudah usang dan tidak akan berpengaruh pada konfigurasi JVM Anda:sumber
Untuk mengatasi masalah ini, kami baru saja menetapkan jalur JDK yang terpasang di
file yang di bawah folder bin JBoss \ Wildfly Server. Untuk mengatasi ini kami lakukan langkah-langkah berikut:
sumber
Untuk pengguna Eclipse ...
Klik Run -> Run configuration -> are -> atur Alternate JRE untuk 1.6 atau 1.7
sumber