Maven으로 Java 8 프로젝트를 빌드 할 때 :
mvn clean package
이 메시지가 나타납니다.
Java HotSpot ™ 64 비트 서버 VM 경고 : 옵션 MaxPermSize = 128m 무시 8.0에서 지원이 제거되었습니다.
이 메시지를 제거하는 방법?
답변
JDK 8 호환성 안내서에 따르면 Java 8에서는 명령 줄 플래그 MaxPermSize
가 제거되었습니다. 영구 생성이 핫스팟 힙에서 제거되어 기본 메모리로 이동 되었기 때문입니다. 따라서이 메시지를 제거하려면 MAVEN_OPTS 환경 사용자 변수를 편집하십시오 .
자바 7
MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m
자바 8
MAVEN_OPTS -Xmx512m
답변
JDK 8 핫스팟 JVM은 이제 클래스 메타 데이터의 표현에 대한 기본 메모리를 사용하고라고 Metaspace .
영구적 인 세대가 제거되었습니다. PermSize
과는 MaxPermSize
무시되고 그들이 명령 행에 존재하는 경우 경고 메시지가 발행됩니다.
답변
-XX:MaxPermSize=size
최대 영구 생성 공간 크기 (바이트)를 설정합니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며이 옵션으로 대체되었습니다 -XX:MaxMetaspaceSize
.
-XX:PermSize=size
가비지 수집이 초과 될 경우이를 트리거하는 영구 생성에 할당 된 공간 (바이트)을 설정합니다. 이 옵션은 JDK 8 에서 더 이상 사용되지 않으며이 옵션으로 대체되었습니다 -XX:MetaspaceSize
.
답변
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}
이렇게하면 문제가 해결됩니다.
답변
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"
문제가 해결되었습니다
답변
어떤 사람은 여전히 이런 종류의 메시지를받습니다. 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>
답변
이 문제를 해결하기 위해 JDK 경로를 설치했습니다.
standalone.conf
JBoss \ Wildfly Server 의 bin 폴더에 있는 파일입니다 . 이를 해결하기 위해 다음 단계를 수행합니다.
- 열기 standlone.conf을JBoss_or_wildfly \ bin 폴더 파일을
- 이 파일에서 #JAVA_HOME을 찾으 십시오. 텍스트를 .
- # 문자를 제거하고 설치된 JDK 경로를
JAVA_HOME = “C : \ Program Files \ Java \ jdk1.8.0_65″로 설정
하십시오. 문제가 해결 되기를 바랍니다. 감사합니다.