O Guia de Compatibilidade para JDK 8 diz que no Java 8 o sinalizador da linha de comandos MaxPermSizefoi 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 :
Isso responde indiretamente à pergunta ... A resposta é "remova os sinalizadores para remover o aviso". Como o comentário perspicaz de @ ohad-schneider revela, não há um único substituto para eles.
conny
10
-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:MaxMetaspaceSizeopçã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:MetaspaceSizeopção.
Eu acho que isso foi downvoted porque implica que você deve mudar os usos anteriores do MaxPermGencom MaxMetaSpaceSizeo 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 MaxPerGenera 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 MaxMetaspacetamanho é realmente usado para diminuí- lo. Para obter mais informações, consulte: stackoverflow.com/a/31463972/67824
Ohad Schneider
8
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á
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
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
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.xmlarquivo no seu projeto.
encontrar esta linha <argLine>...</argLine>, no meu projeto eu também tenho argumento abaixo
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:
Abra o arquivo standlone.conf que, na pasta JBoss_or_wildfly \ bin
Neste arquivo, encontre o texto #JAVA_HOME .
Remova o caractere # e defina o caminho do JDK instalado como
JAVA_HOME = "C: \ Arquivos de programas \ Java \ jdk1.8.0_65"
Espero que isso resolva seu problema Obrigado
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
Java 8
fonte
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
eMaxPermSize
são ignorados e um aviso é emitido se estiverem presentes na linha de comando.fonte
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.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.fonte
MaxPermGen
comMaxMetaSpaceSize
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 eMaxPerGen
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, oMaxMetaspace
tamanho é realmente usado para diminuí- lo. Para obter mais informações, consulte: stackoverflow.com/a/31463972/67824No 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á
atualize para
Isto irá resolver o seu problema.
fonte
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
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
em .bashrc no meu sistema, altere-o para
Problema resolvido
fonte
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 abaixovocê deve substituir o
MaxPermSize
argumento como-Xms123m -Xmx123m
, uma vez queMaxPermSize
já está obsoleto e não afetará sua configuração da JVM:fonte
Por favor, para resolver este problema, apenas definimos o caminho JDK instalado no
arquivo que está na pasta bin do JBoss \ Wildfly Server. Para resolver isso, execute as seguintes etapas:
fonte
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
fonte