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文件夹下的文件。 为了解决这个问题,我们执行以下步骤:
- 打开JBoss_or_wildfly \ bin文件夹下的standlone.conf文件
- 在这个文件中find#JAVA_HOME文本。
- 删除#字符,并将您安装的JDKpath设置为JAVA_HOME =“C:\ Program Files \ Java \ jdk1.8.0_65”希望这将解决您的问题谢谢
对于Eclipse用户…
点击Run – > Run configuration – > are – >为1.6或1.7设置备用JRE
- 停止IntelliJ IDEA切换Java语言级别每次重新加载POM(或更改默认的项目语言级别)
- 为什么ConcurrentHashMap防止空键和值?
- 隐藏命令行上的input
- 如何从Java设置环境variables?
- Eclipse中的JUnittesting通过,但在Maven Surefire中失败
- 不成功:在Hibernate / JPA / HSQLDB独立版本中使用alter table XXX drop constraint YYY
- 如何在Java中将string转换为long?
- Lambdaexpression式和方法重载疑惑
- 正确的方式来使用Java在Selenium WebDriver中集中一个元素