Avvisi VM server Java HotSpot (TM) a 64 bit: ignorando l’opzione MaxPermSize

Quando si costruisce un progetto Java 8 con Maven:

mvn clean package 

Ottengo questo messaggio:

Avvisi VM server Java HotSpot (TM) a 64 bit: opzione ignorata MaxPermSize = 128 m; il supporto è stato rimosso in 8.0

Come rimuovere questo messaggio?

Guida alla compatibilità per JDK 8 afferma che in Java 8 il flag della riga di comando MaxPermSize è stato rimosso. Il motivo è che la generazione permanente è stata rimossa dall’hotspot e trasferita nella memoria nativa. Quindi, per rimuovere questo messaggio, modifica Variabile utente ambiente MAVEN_OPTS :

Java 7

 MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m 

Java 8

 MAVEN_OPTS -Xmx512m 

JDK 8 HotSpot JVM ora utilizza la memoria nativa per la rappresentazione dei metadati di class e si chiama Metaspace.

La generazione permanente è stata rimossa. PermSize e MaxPermSize vengono ignorati e viene emesso un avviso se sono presenti sulla riga di comando.

In JBoss EAP 6.4, fai clic con il tasto destro del mouse sul server e apri la configurazione di avvio sotto l’argomento VM che troverai

 {-Dprogram.name=JBossTools: jboss-eap" -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m} 

aggiornalo a

 {-Dprogram.name=JBossTools: JBoss 6.4" -server -Xms512m -Xmx512m} 

questo risolverà il tuo problema.

-XX: MaxPermSize = size Imposta la dimensione massima dello spazio di generazione permanente (in byte). Questa opzione era obsoleta in JDK 8 e sostituita dall’opzione -XX: MaxMetaspaceSize.

-XX: PermSize = size Imposta lo spazio (in byte) assegnato alla generazione permanente che triggers una garbage collection se viene superata. Questa opzione è stata ritirata un JDK 8 e sostituita dall’opzione -XX: MetaspaceSize.

Ho ricevuto un messaggio simile quando eseguivo la riga di comando mvn (versione 3.3.3) su Linux con Java 8. Aprendo lo script maven / $ MAVEN-HOME / bin / mvn, ho trovato la seguente riga

 MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" 

Dove $ MAVEN_PROJECTBASEDIR di default è la tua home directory. Quindi due posti che puoi dare un’occhiata, prima è il file $ MAVEN_PROJECTBASEDIR / .mvn / jvm.config se esiste. In secondo luogo, guarda i file che possono impostare la variabile di ambiente MAVEN_OPTS. I file candidati sono .bashrc, .bash_profile, .profile e quei file inclusi da loro come / etc / profile, /etc/bash.bashrc

Ho individuato

 export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m" 

in .bashrc nel mio sistema, cambiarlo in

 export MAVEN_OPTS="-Xmx512m" 

problema risolto

Per favore, per risolvere questo problema, abbiamo appena installato il percorso JDK installato

standalone.conf

file che si trova sotto la cartella bin di JBoss \ Wildfly Server. Per risolvere questo facciamo i seguenti passi:

  1. Apri il file standlone.conf che si trova nella cartella JBoss_or_wildfly \ bin
  2. All’interno di questo file trovi il testo #JAVA_HOME .
  3. Rimuovi il carattere # e imposta il percorso JDK installato come JAVA_HOME = “C: \ Programmi \ Java \ jdk1.8.0_65” Spero che questo risolva il tuo problema Grazie

Per gli utenti di Eclipse …

Fare clic su Esegui -> Esegui configurazione -> sono -> imposta JRE alternativo per 1.6 o 1.7