使用Maven构建Java 8项目时:
mvn clean package
我收到此消息:
Java HotSpot(TM)64位服务器VM警告:忽略选项MaxPermSize = 128m;支持已在8.0中删除
如何删除此邮件?
答案 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 文件夹下的文件。要解决此问题,我们执行以下步骤:
答案 7 :(得分:-4)
对于Eclipse用户......
点击运行 - &gt;运行配置 - &gt;是 - &gt;将备用JRE设置为1.6或1.7