Saat membangun proyek Java 8 dengan Maven:
mvn clean package
Saya menerima pesan ini:
Peringatan Java HotSpot (TM) 64-Bit Server VM: opsi abaikan MaxPermSize = 128m; dukungan telah dihapus di 8.0
Bagaimana cara menghapus pesan ini?
Saat membangun proyek Java 8 dengan Maven:
mvn clean package
Saya menerima pesan ini:
Peringatan Java HotSpot (TM) 64-Bit Server VM: opsi abaikan MaxPermSize = 128m; dukungan telah dihapus di 8.0
Bagaimana cara menghapus pesan ini?
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
MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m
Java 8
MAVEN_OPTS -Xmx512m
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
dan MaxPermSize
diabaikan dan peringatan dikeluarkan jika mereka ada di baris perintah.
-XX:MaxPermSize=size
Menetapkan ukuran ruang pembangkitan permanen maksimum (dalam byte). Opsi ini sudah tidak digunakan lagi dalam JDK 8, dan digantikan oleh -XX:MaxMetaspaceSize
opsi.
-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:MetaspaceSize
opsi.
MaxPermGen
dengan MaxMetaSpaceSize
yang menyesatkan, karena peran mereka telah praktis terbalik. Sebelum Java 8, ruang metadata berada di PermGen yang dibatasi 32 / 64MB, dan MaxPerGen
digunakan untuk meningkatkannya . Mulai dari Java 8, PermGen tidak lebih dan ruang metadata kelas tidak terbatas, jadi MaxMetaspace
ukuran sebenarnya digunakan untuk menguranginya . Untuk informasi lebih lanjut, lihat: stackoverflow.com/a/31463972/67824
Di JBoss EAP 6.4, klik kanan pada server dan buka konfigurasi peluncuran di bawah argumen VM Anda akan menemukan
{-Dprogram.name=JBossTools: jboss-eap" -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m}
perbarui untuk
{-Dprogram.name=JBossTools: JBoss 6.4" -server -Xms512m -Xmx512m}
ini akan menyelesaikan masalah Anda.
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
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
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
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"
di .bashrc di sistem saya, ubah ke
export MAVEN_OPTS="-Xmx512m"
masalah terselesaikan
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 ini
<argLine>-Xmx1024m -XX:MaxPermSize=512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>
Anda harus mengganti MaxPermSize
argumen sebagai -Xms123m -Xmx123m
, karena MaxPermSize
sudah usang dan tidak akan berpengaruh pada konfigurasi JVM Anda:
<argLine>-Xms512m -Xmx512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>
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:
Untuk pengguna Eclipse ...
Klik Run -> Run configuration -> are -> atur Alternate JRE untuk 1.6 atau 1.7