Як я можу дати компілятору Intellij більше місця для купівлі?


106

Коли я роблю проект Intellij, я вимикаю наступне з помилки пам'яті.

Я вже збільшив розмір купи idea.vmoptions:

-Xms128m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=64m
-ea

Але я все одно отримую цю помилку:

Information:The system is out of resources.
Information:Consult the following stack trace for details.
Information:java.lang.OutOfMemoryError: Java heap space
Information:    at com.sun.tools.javac.util.Position$LineMapImpl.build(Position.java:139)
Information:    at com.sun.tools.javac.util.Position.makeLineMap(Position.java:63)
Information:    at com.sun.tools.javac.parser.Scanner.getLineMap(Scanner.java:1105)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:512)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:550)
Information:    at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:804)
Information:    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:353)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:279)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:270)
Information:    at com.sun.tools.javac.Main.compile(Main.java:69)
Information:    at com.sun.tools.javac.Main.main(Main.java:54)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Information:    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Information:    at java.lang.reflect.Method.invoke(Method.java:597)
Information:    at com.intellij.rt.compiler.JavacRunner.main(JavacRunner.java:71)
Information:Compilation completed with 1 error and 0 warnings
Information:1 error
Information:0 warnings
Error:Compiler internal error. Process terminated with exit code 3

Що я пропускаю?

Відповіді:


157

Поточна версія:

Settings( Preferencesна Mac) | Build, Execution, Deployment| Compiler| Збірка розміру купи процесу .

Старіші версії:

Settings( Preferencesна Mac) | Compiler| Java Compiler| Максимальний розмір купи .

Компілятор за замовчуванням працює в окремому JVM, тому налаштування купи IDEA, які ви встановили idea.vmoptions, не впливають на компілятор.


10
І після цього потрібен перезапуск :)
cgl

9
Насправді це не так
jarandaf

11
Я знаю, що це трохи поза темою, але може врятувати комусь волосся, якщо вони натраплять на це. У мене була така ж проблема, але моя виникла з того часу, коли я займався mvn installв IntelliJ. Рішення полягало в тому, щоб змінити Settings | Maven | Runner | **VM Options** I, мабуть, я спробував усі інші налаштування там, поки я не отримав це право. Сподіваюся, це комусь допоможе.
FuriousGeorge

14
@ clankill3r спробуйте Settings| Compiler| Build process heap size.
CrazyCoder

5
Для більш пізніх версій Intellij (мій 2016.1.3) цей параметр називається "Збірка розміру купи процесу (Мбайт)" і його можна знайти в "Налаштування | Створення, виконання, розгортання | Компілятор".
tomger

95

Починаючи з IntelliJ 2016, місцезнаходження - Файл | Налаштування | Збірка, виконання, розгортання | Укладач | Збірка розміру купи процесу .

введіть тут опис зображення


2
Я змінив його на 2000 МБ, але він все ще не працював для мене.
R11G

5

У мене була аналогічна проблема з збіркою Ant (розпочато від руки з GUI IDEA). У моєму випадку було правильним рішенням клацання правою кнопкою миші на задачі Ant, вибирати властивості та встановлювати більш високе значення у полях "Максимальний купі місця (Mb):" та "Максимальний простір стеку (Mb):".

введіть тут опис зображення


5

Щоб вирішити цю проблему, виконайте наведені нижче кроки-

1). У цілому перейдіть до Файл> Налаштування параметрів та пошук варіанту Vm У полі Vm Варіант для імпортера дайте значення -Xmx512m. Параметри налаштування Intelij

2). Перейдіть до панелі керування. Виберіть Перегляд: Великі піктограми, потім Перейдіть до Java, з'явиться одне підказка з ім'ям панелі управління Java, потім перейдіть до Java Java VM Options

виберіть варіант перегляду. параметри перегляду Java

У середовищі часу виконання Java Налаштування часу пропуску Параметри часу як -Xmx1024m .

3). Якщо вище наведені параметри не працюють, то змініть розмір pom.xml


Чому ви редагували це посилання? Ти боїшся того, що сталося тут ?
Глорфіндель

я дав правильну відповідь, і я надав кредит іншому веб-сайту, але все одно я бачу два підсумки моєї відповіді. І відповідь, яку я дав, є практично правильною, з якою я зіткнувся і вирішив її.
Джімі Десять

будь ласка, дайте мені знати, чи можу я дати кредит іншому веб-сайту.
Джімі Десять

2
Цей тимчасовий голос був від мене. Якщо ви хочете дати кредит, будь ласка, посилання на точну сторінку, де ви знайшли інформацію, а не список навчальних посібників.
Шаленство Лі

3

GWT в Intellij 12

FWIW, я отримував аналогічну помилку з моїм додатком GWT під час " Build |" Проект відновлення ".

Це було викликано тим, що Intellij робив повну компіляцію GWT, що мені не сподобалось, оскільки це також дуже тривалий процес.

Я відключив компіляцію GWT, вимкнувши прапорці модуля в розділі " Структура проекту |" Грані | GWT '.

Крім того, в цьому місці є налаштування " Максимальний розмір купи ".


0

У моєму випадку помилка була викликана недостатньою пам’яттю, виділеною для «тестового» життєвого циклу Мейвена. Це було виправлено додаванням <argLine>-Xms3512m -Xmx3512m</argLine>до:

<pluginManagement>
  <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.16</version>
        <configuration>
            <argLine>-Xms3512m -Xmx3512m</argLine>

Дякуємо @crazycoder за вказівку на це (а також, що це не пов’язано з IntelliJ; в даному випадку).

Якщо ваші тести роздвоєні, вони запускаються в новому JVM, який не успадковує параметри Maven JVM. Спеціальні параметри пам'яті повинні надаватися через тестовий бігун у pom.xml, докладні відомості див. У документації Maven, це дуже мало стосується IDE.


0

Під час створення мого проекту за допомогою команди Maven install я зіткнувся з помилкою "java.lang.OutOfMemoryError: Java heap space".

Мені вдалося позбутися цього, змінивши налаштування Maven runner.

Settings| Build, Execution, Deployment| Build Tools| Maven| Runner| VM optionsдо -Xmx512m


-3

Є

idea64.exe

стартер в

IntelliJ IDEA 13.1.5 \ bin

тож ви можете вирішити більше місця.


Ця відповідь певною мірою є правильною, хоча не в контексті питання, поданого вище. idea64.exe дає більше пам’яті permgen, використовуйте idea64.exe, якщо ви працюєте на 64-бітовій ОС. Знайшов корисним coz 32bit idea.exe вийшов з ладу під час закінчення пам’яті під час збирання.
Аділ Х. Раза
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.