Maven으로 Java 8 프로젝트를 빌드 할 때 :
mvn clean package
이 메시지가 나타납니다.
Java HotSpot ™ 64 비트 서버 VM 경고 : 옵션 MaxPermSize = 128m 무시 8.0에서 지원이 제거되었습니다.
이 메시지를 제거하는 방법?
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
sudo gedit ~/.profile
답변에 줄을 추가하고 파일을 저장하십시오.
sudo
홈 폴더의 파일 을 편집 하시겠습니까? 나에게는 매우 이상한 연습 인 것 같습니다.
-XX:MaxPermSize=size
최대 영구 생성 공간 크기 (바이트)를 설정합니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며이 옵션으로 대체되었습니다 -XX:MaxMetaspaceSize
.
-XX:PermSize=size
가비지 수집이 초과 될 경우이를 트리거하는 영구 생성에 할당 된 공간 (바이트)을 설정합니다. 이 옵션은 JDK 8 에서 더 이상 사용되지 않으며이 옵션으로 대체되었습니다 -XX:MetaspaceSize
.
MaxPermGen
으로 MaxMetaSpaceSize
자신의 역할을 실질적으로 반대했기 때문에, 어떤 오해의 소지가된다. Java 8 클래스 메타 데이터 공간이 PermGen에 상주하기 전에 32 / 64MB로 제한되었으며 MaxPerGen
이를 늘리는 데 사용되었습니다 . 그러나 Java 8부터 PermGen은 더 이상 없으며 클래스 메타 데이터 공간은 무제한이므로 MaxMetaspace
실제로 크기를 줄이려 면 크기가 사용됩니다 . 더 자세한 정보는 아래를 참조하십시오 stackoverflow.com/a/31463972/67824
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 폴더에 있는 파일입니다 . 이를 해결하기 위해 다음 단계를 수행합니다.