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

时间:2014-03-25 12:29:06

标签: java maven

使用Maven构建Java 8项目时:

mvn clean package

我收到此消息:

  

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

如何删除此邮件?

8 个答案:

答案 0 :(得分:150)

Compatibility Guide for JDK 8表示在Java 8中,命令行标志MaxPermSize已被删除。原因是永久生成已从热点堆中删除并被移动到本机内存。 所以为了删除这条消息 编辑 MAVEN_OPTS 环境用户变量:

Java 7

MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m

Java 8

MAVEN_OPTS -Xmx512m

答案 1 :(得分:19)

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

永久世代已被删除。 PermSize和MaxPermSize将被忽略,如果它们出现在命令行中,则会发出警告。

答案 2 :(得分:7)

在JBoss EAP 6.4中,右键单击服务器并在VM参数下打开启动配置

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

将其更新为

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

这将解决您的问题。

答案 3 :(得分:5)

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

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

答案 4 :(得分:1)

以防有人仍然收到这种消息。发生这种情况是因为在运行Maven项目时添加了JVM参数。因为它与maven相关,所以您可以在项目中检查pom.xml文件。

找到这一行<argLine>...</argLine>,在我的项目中,我也有下面的参数

<argLine>-Xmx1024m -XX:MaxPermSize=512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>

您应该将MaxPermSize参数替换为-Xms123m -Xmx123m,因为MaxPermSize已被弃用,不会对您的JVM配置产生任何影响:

<argLine>-Xms512m -Xmx512m  -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>

答案 5 :(得分:0)

在使用Java 8的Linux上运行命令行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(如果存在)。其次查看可能设置环境变量MAVEN_OPTS的文件。候选文件是.bashrc,.bash_profile,.profile以及它们包含的那些文件,例如/ etc / profile,/ etc / bash.bashrc

我找到了

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

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

export MAVEN_OPTS="-Xmx512m"

问题已解决

答案 6 :(得分:-2)

请解决这个问题,我们只是在

中设置了已安装的JDK路径
  

standalone.conf

在JBoss \ Wildfly Server的 bin 文件夹下的文件。要解决此问题,我们执行以下步骤:

  1. 打开JBoss_or_wildfly \ bin文件夹下的 standlone.conf 文件
  2. 在此文件中查找 #JAVA_HOME 文字。
  3. 删除字符并将已安装的JDK路径设置为 JAVA_HOME =“C:\ Program Files \ Java \ jdk1.8.0_65” 希望这能解决你的问题 感谢

答案 7 :(得分:-4)

对于Eclipse用户......

点击运行 - &gt;运行配置 - &gt;是 - &gt;将备用JRE设置为1.6或1.7