Al construir un proyecto Java 8 con Maven:
mvn clean package
Recibo este mensaje:
Advertencia de máquina virtual del servidor Java HotSpot (TM) de 64 bits: ignorando la opción MaxPermSize = 128m; el soporte fue eliminado en 8.0
¿Cómo eliminar este mensaje?
Respuestas:
La Guía de compatibilidad para JDK 8 dice que en Java 8
MaxPermSize
se eliminó el indicador de línea de comando . La razón es que la generación permanente se eliminó del montón de puntos de acceso y se movió a la memoria nativa. Entonces, para eliminar este mensaje, edite la variable de usuario de entorno MAVEN_OPTS :Java 7
Java 8
fuente
sudo gedit ~/.profile
, agregue la línea de la respuesta allí y guarde el archivo.sudo
editaría un archivo en su carpeta de inicio? Me parece una práctica muy extraña.El JDK 8 HotSpot JVM ahora está usando memoria nativa para la representación de metadatos de clase y se llama Metaspace .
La generación permanente ha sido eliminada. El
PermSize
yMaxPermSize
se ignoran y se emite una advertencia si están presentes en la línea de comando.fuente
Establece el tamaño máximo de espacio de generación permanente (en bytes). Esta opción fue desaprobada en JDK 8 y reemplazada por la
-XX:MaxMetaspaceSize
opción.Establece el espacio (en bytes) asignado a la generación permanente que desencadena una recolección de basura si se excede. Esta opción fue desaprobada en JDK 8 y reemplazada por la
-XX:MetaspaceSize
opción.fuente
MaxPermGen
laMaxMetaSpaceSize
cual es engañoso, ya que sus papeles se han invertido prácticamente. Antes del espacio de metadatos de la clase Java 8 residía en PermGen, que estaba limitado por 32 / 64MB, yMaxPerGen
se usaba para aumentarlo . Sin embargo, a partir de Java 8, PermGen ya no existe y el espacio de metadatos de la clase es ilimitado, por lo que elMaxMetaspace
tamaño se usa realmente para disminuirlo . Para obtener más información, consulte: stackoverflow.com/a/31463972/67824En JBoss EAP 6.4, haga clic derecho en el servidor y abra la configuración de inicio en el argumento VM que encontrará
actualizarlo a
Esto resolverá su problema.
fuente
Recibí un mensaje similar al ejecutar la línea de comandos mvn (versión 3.3.3) en Linux con Java 8. Al abrir el script maven / $ MAVEN-HOME / bin / mvn, encontré la siguiente línea
Donde $ MAVEN_PROJECTBASEDIR por defecto es su directorio de inicio. Entonces, dos lugares que puede ver, primero es el archivo $ MAVEN_PROJECTBASEDIR / .mvn / jvm.config si existe. En segundo lugar, observe los archivos que posiblemente configuran la variable de entorno MAVEN_OPTS. Los archivos candidatos son .bashrc, .bash_profile, .profile y los archivos incluidos por ellos, como / etc / profile, /etc/bash.bashrc
Yo ubiqué
en .bashrc en mi sistema, cámbielo a
problema resuelto
fuente
en caso de que alguien todavía reciba este tipo de mensaje. Sucede porque agrega el argumento JVM cuando ejecuta el proyecto maven. Debido a que está relacionado con Maven, puede verificar su
pom.xml
archivo en su proyecto.encuentre esta línea
<argLine>...</argLine>
, en mi proyecto también tengo un argumento a continuacióndebe reemplazar el
MaxPermSize
argumento ya que-Xms123m -Xmx123m
yaMaxPermSize
está en desuso y no tendrá ningún efecto en su configuración de JVM:fuente
Para resolver este problema, acabamos de configurar la ruta JDK instalada en
archivo que se encuentra en la carpeta bin del servidor JBoss \ Wildfly. Para resolver esto hacemos los siguientes pasos:
fuente
Para usuarios de Eclipse ...
Haga clic en Ejecutar -> Ejecutar configuración -> son -> establecer JRE alternativo para 1.6 o 1.7
fuente