Ao criar um projeto Java 8 com o Maven:
mvn clean package
Recebo esta mensagem:
Aviso da VM do servidor Java HotSpot (TM) de 64 bits: ignorando a opção MaxPermSize = 128m; suporte foi removido no 8.0
Como remover esta mensagem?
Ao criar um projeto Java 8 com o Maven:
mvn clean package
Recebo esta mensagem:
Aviso da VM do servidor Java HotSpot (TM) de 64 bits: ignorando a opção MaxPermSize = 128m; suporte foi removido no 8.0
Como remover esta mensagem?
Respostas:
O Guia de Compatibilidade para JDK 8 diz que no Java 8 o sinalizador da linha de comandos MaxPermSize
foi removido. O motivo é que a geração permanente foi removida do heap do hotspot e foi movida para a memória nativa. Portanto, para remover esta mensagem, edite a variável de usuário do ambiente MAVEN_OPTS :
Java 7
MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m
Java 8
MAVEN_OPTS -Xmx512m
sudo gedit ~/.profile
, adicione a linha da resposta e salve o arquivo.
sudo
editaria um arquivo na sua pasta pessoal? Parece uma prática muito estranha para mim.
O JDK 8 HotSpot JVM agora está usando memória nativa para a representação dos metadados da classe e é chamado Metaspace .
A geração permanente foi removida. O PermSize
e MaxPermSize
são ignorados e um aviso é emitido se estiverem presentes na linha de comando.
-XX:MaxPermSize=size
Define o tamanho máximo do espaço de geração permanente (em bytes). Esta opção foi descontinuada no JDK 8 e substituída pela -XX:MaxMetaspaceSize
opção.
-XX:PermSize=size
Define o espaço (em bytes) alocado para a geração permanente que aciona uma coleta de lixo se for excedida. Esta opção foi descontinuada no JDK 8 e substituída pela -XX:MetaspaceSize
opção.
MaxPermGen
com MaxMetaSpaceSize
o que é enganosa, uma vez que seus papéis têm praticamente revertida. Antes, o espaço de metadados da classe Java 8 residia no PermGen, que era limitado por 32 / 64MB e MaxPerGen
era usado para aumentá- lo. No entanto, a partir do Java 8, o PermGen não existe mais e o espaço de metadados da classe é ilimitado; portanto, o MaxMetaspace
tamanho é realmente usado para diminuí- lo. Para obter mais informações, consulte: stackoverflow.com/a/31463972/67824
No JBoss EAP 6.4, clique com o botão direito do mouse no servidor e abra a configuração de inicialização sob o argumento VM que você encontrará
{-Dprogram.name=JBossTools: jboss-eap" -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m}
atualize para
{-Dprogram.name=JBossTools: JBoss 6.4" -server -Xms512m -Xmx512m}
Isto irá resolver o seu problema.
Recebi uma mensagem semelhante ao executar a linha de comando mvn (versão 3.3.3) no Linux com Java 8. Ao abrir o script maven / $ MAVEN-HOME / bin / mvn, localizei a seguinte linha
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
Onde $ MAVEN_PROJECTBASEDIR por padrão é o seu diretório inicial. Então, em dois lugares que você pode dar uma olhada, primeiro é o arquivo $ MAVEN_PROJECTBASEDIR / .mvn / jvm.config, se existir. Em segundo lugar, observe os arquivos que possivelmente configuram a variável de ambiente MAVEN_OPTS. Os arquivos candidatos são .bashrc, .bash_profile, .profile e os arquivos incluídos por eles, como / etc / profile, /etc/bash.bashrc
Eu localizei
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"
em .bashrc no meu sistema, altere-o para
export MAVEN_OPTS="-Xmx512m"
Problema resolvido
caso alguém ainda receba esse tipo de mensagem. Isso acontece porque você adiciona o argumento da JVM ao executar o projeto maven. Por estar relacionado ao maven, você pode verificar seu pom.xml
arquivo no seu projeto.
encontrar esta linha <argLine>...</argLine>
, no meu projeto eu também tenho argumento abaixo
<argLine>-Xmx1024m -XX:MaxPermSize=512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>
você deve substituir o MaxPermSize
argumento como -Xms123m -Xmx123m
, uma vez que MaxPermSize
já está obsoleto e não afetará sua configuração da JVM:
<argLine>-Xms512m -Xmx512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>
Por favor, para resolver este problema, apenas definimos o caminho JDK instalado no
standalone.conf
arquivo que está na pasta bin do JBoss \ Wildfly Server. Para resolver isso, execute as seguintes etapas:
Para usuários do Eclipse ...
Clique em Executar -> Configuração de Execução -> são -> configurar o JRE Alternativo para 1.6 ou 1.7