Java HotSpot(TM)64位服务器VM警告:忽略选项MaxPermSize

使用Maven构buildJava 8项目时

mvn clean package 

…我收到这条消息:

Java HotSpot(TM)64位服务器VM警告:忽略选项MaxPermSize = 128m; 在8.0中删除了支持

如何删除此消息?

“JDK 8兼容性指南”指出,在Java 8中,命令行标志MaxPermSize已被删除。 原因是永久性的一代人被从热点堆中移走,并被转移到本地记忆中。 所以为了删除这个消息编辑MAVEN_OPTS环境用户variables:

Java 7

 MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m 

Java 8

 MAVEN_OPTS -Xmx512m 

JDK 8 HotSpot JVM现在使用本地内存来表示类元数据,并称为Metaspace。

永久的一代已被移除。 如果PermSize和MaxPermSize存在于命令行中,则将忽略它们并发出警告。

在JBoss EAP 6.4中,右键点击服务器,打开虚拟机参数下的启动configuration

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

更新为

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

这将解决你的问题。

-XX:MaxPermSize = size设置最大永久生成空间大小(以字节为单位)。 此选项在JDK 8中已被弃用,并被-XX:MaxMetaspaceSize选项取代。

-XX:PermSize = size设置分配给触发垃圾回收的永久生成的空间(以字节为单位)。 此选项在JDK 8中已被弃用,并被-XX:MetaspaceSize选项取代。

在Linux上使用Java 8运行命令行mvn(版本3.3.3)时,我收到了类似的信息。通过打开maven脚本/ $ MAVEN-HOME / bin / mvn,发现以下行

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

其中$ MAVEN_PROJECTBASEDIR默认是您的主目录。 所以你可以看两个地方,首先是文件$ MAVEN_PROJECTBASEDIR / .mvn / jvm.config(如果存在的话)。 其次看文件可能设置的环境variablesMAVEN_OPTS。 候选文件是.bashrc,.bash_profile,.profile和它们包含的文件,如/ etc / profile,/etc/bash.bashrc

我find了

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

在我的系统中的.bashrc中,将其更改为

 export MAVEN_OPTS="-Xmx512m" 

问题解决了

请解决这个问题,我们只是设置了安装JDKpath

standalone.conf

JBoss \ Wildfly Server的bin文件夹下的文件。 为了解决这个问题,我们执行以下步骤:

  1. 打开JBoss_or_wildfly \ bin文件夹下的standlone.conf文件
  2. 在这个文件中find#JAVA_HOME文本。
  3. 删除字符,并将您安装的JDKpath设置为JAVA_HOME =“C:\ Program Files \ Java \ jdk1.8.0_65”希望这将解决您的问题谢谢

对于Eclipse用户…

点击Run – > Run configuration – > are – >为1.6或1.7设置备用JRE