При создании проекта Java 8 с Maven:
mvn clean package
Я получаю это сообщение:
Предупреждение о виртуальной машине на 64-разрядном сервере Java HotSpot (TM): игнорирование параметра MaxPermSize = 128m; поддержка была удалена в 8.0
Как удалить это сообщение?
Ответы:
В Руководстве по совместимости для JDK 8 говорится, что в Java 8 флаг командной строки
MaxPermSize
был удален. Причина в том, что постоянное поколение было удалено из кучи горячей точки и перенесено в собственную память. Поэтому, чтобы удалить это сообщение, отредактируйте переменную пользователя среды MAVEN_OPTS :Java 7
Java 8
источник
sudo gedit ~/.profile
добавьте туда строчку из ответа и сохраните файл.sudo
редактировать файл в вашей домашней папке? Похоже, очень странная практика для меня.JDK 8 HotSpot JVM теперь использует встроенную память для представления класса метаданных и называется Метапространством .
Постоянное поколение было удалено.
PermSize
ИMaxPermSize
игнорируются , и выдается предупреждение , если они присутствуют в командной строке.источник
Устанавливает максимальный постоянный размер пространства генерации (в байтах). Эта опция устарела в JDK 8 и заменена этой
-XX:MaxMetaspaceSize
опцией.Устанавливает пространство (в байтах), выделенное для постоянной генерации, которая запускает сборку мусора, если она превышена. Эта опция устарела в JDK 8 и заменена этой
-XX:MetaspaceSize
опцией.источник
MaxPermGen
сMaxMetaSpaceSize
которых вводит в заблуждение, так как их роли практически наоборот. До этого пространство метаданных класса Java 8 находилось в PermGen, которое было ограничено 32/64 МБ иMaxPerGen
использовалось для его увеличения . Однако, начиная с Java 8, PermGen больше не существует, и пространство метаданных класса не ограничено, поэтомуMaxMetaspace
размер фактически используется для его уменьшения . Для получения дополнительной информации см .: stackoverflow.com/a/31463972/67824В JBoss EAP 6.4 щелкните правой кнопкой мыши по серверу и откройте конфигурацию запуска под аргументом VM, который вы найдете
обновить его до
это решит вашу проблему.
источник
Я получил похожее сообщение при запуске командной строки mvn (версия 3.3.3) в Linux с Java 8. Открыв сценарий maven / $ MAVEN-HOME / bin / mvn, нашел следующую строку
Где $ MAVEN_PROJECTBASEDIR по умолчанию является вашим домашним каталогом. Итак, в двух местах вы можете посмотреть, во-первых, это файл $ MAVEN_PROJECTBASEDIR / .mvn / jvm.config, если он существует. Во-вторых, посмотрите на файлы, возможно, установите переменную окружения MAVEN_OPTS. Файлы-кандидаты: .bashrc, .bash_profile, .profile и включенные в них файлы, такие как / etc / profile, /etc/bash.bashrc.
Я нашел
в .bashrc в моей системе, измените его на
проблема решена
источник
в случае, если кто-то все еще получает такое сообщение. Это происходит потому, что вы добавляете аргумент JVM при запуске проекта maven. Поскольку это связано с Maven, вы можете проверить свой
pom.xml
файл в вашем проекте.найти эту строку
<argLine>...</argLine>
, на моем проекте у меня также есть аргумент нижеВы должны заменить
MaxPermSize
аргумент как-Xms123m -Xmx123m
, посколькуMaxPermSize
он уже устарел и не будет влиять на конфигурацию JVM:источник
Пожалуйста, чтобы решить эту проблему, мы только что установили установленный путь JDK в
файл, который находится в папке bin сервера JBoss \ Wildfly. Для решения этой проблемы мы делаем следующие шаги:
источник
Для пользователей Eclipse ...
Нажмите Run -> Run configuration -> are -> установите альтернативный JRE для 1.6 или 1.7
источник