使用IntelliJ或Play时,如何使"Java Hot Spot MaxPermSize"警告消失?

W.P*_*ill 27 java scala intellij-idea sbt

当我启动IntelliJ或playPlay项目中运行时,我收到此警告.

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
Run Code Online (Sandbox Code Playgroud)

我怎么让它消失?

Maven的相同问题的答案MaxPermSizeMAVEN_OPTS环境变量中删除选项.MAVEN_OPTS我的机器上没有变量设置.我想有一些类似的sbt设置,但我不知道它在哪里.

我看到了关于Java变化的许多解释,但是在使用Scala时,我没有看到任何关于如何使这个警告消失的提示.

OS X 10.9.4.Scala 2.11.1.sbt 0.13.5


编辑

基本上我要问的是"我的系统上的所有位置都MaxPermSize可以设置在哪里?"

sbt-launch-lib.bash我的机器上没有一套.

我确实找到MaxPermSize了IntelliJ的Scala-> JVM Parameters选项.删除它会使IntelliJ中的警告消失.


编辑

改变了问题.我原本说这发生在SBT上.(下面的一些评论解决了这个问题.)这是我的错误.只有当我从命令行运行时,才会运行SBT play.

Play是否已知错误指定MaxPermSize参数?有办法让它停止吗?


编辑

我认为这不是jdk 8PermGen消除的重复.该线程描述了警告出现的原因,但未解释如何更改IntelliJ或Play配置以使其不再显示.

Jig*_*shi 19

这警告你仍然假设你传入的这个标志会起作用但是这个标志已经从1.8开始移除了,jvm 1.8以后没有烫发空间

所以要摆脱这个警告-XX:MaxPermSize从所有从sbt传递到jvm的地方删除

例如,在Windows上,您只需编辑该文件C:\Program Files (x86)\sbt\conf\sbtconfig.txt并进行编辑以对其进行更改以对其进行注释XX:MaxPermSize=256M.例如:

-Xmx512M

#Commented parameter as it is deprecated on jvm 1.8 onwards
#-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=128m

# Set the extra SBT options
-Dsbt.log.format=true
Run Code Online (Sandbox Code Playgroud)

  • 你可以打开sbt配置文件C:\ Program Files(x86)\ sbt\conf\sbtconfig.txt并删除-XX:MaxPermSize = 256m来摆脱警告 (6认同)

f1v*_*1v3 6

我知道这是一个老问题,但是如果你使用IntelliJ,这个条目:

-XX:MaxPermSize=512m
Run Code Online (Sandbox Code Playgroud)

也可以在以下文件之一中找到:

PATH_TO_INTELLIJ\bin\idea.exe.vmoptions
PATH_TO_INTELLIJ\bin\idea64.exe.vmoptions
Run Code Online (Sandbox Code Playgroud)

也许删除它可能会有所帮助?