Как увеличить максимальный размер кучи для процесса javac в Borland JBuilder 2005/2006

В большинстве современных IDE есть параметр, который вы можете установить, чтобы гарантировать, что javac получит достаточно памяти кучи для его компиляции. По причинам, которые не стоит здесь вдаваться, мы пока привязаны к JBuilder 2005/2006, и, похоже, количество исходного кода превышает то, что может обрабатывать javac.

Пожалуйста, сохраните ответ, относящийся к JBuilder 2005/2006 javac (мы не можем выполнить миграцию прямо сейчас, а компилятор Borland Make неправильно поддерживает Java 1.6)

Я понимаю, как и какие параметры должен передаются в javac, проблема в том, что IDE, похоже, не позволяет их где-либо устанавливать. Многие настройки скрыты в файлах Jbuilder Install \ bin * .config, я чувствую, что ответ может быть где-то там, но я его не нашел.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
8 981
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Взгляните на http://javahowto.blogspot.com/2006/06/fix-javac-java-lang-outofmemoryerror.html

Аргументы, которые вам нужно передать javac JBuilder, - это «-J-Xms256m -J-Xmx256m». Замените 256m на то, что подходит в вашем случае. Также удалите кавычки.

Это должно работать для java 1.4, java 1.5 и более поздних версий.

BR, ~ А

Но проблема в том, что, похоже, нет никакого способа передать эти аргументы в javac через IDE.

Peter 19.09.2008 22:26

«Я понимаю, как и какие параметры следует передавать в javac, проблема в том, что IDE не позволяет их где-либо устанавливать».

Теперь я понял, что вы знаете, как передавать правильные аргументы ТОЛЬКО, а не где / как передавать эти аргументы :-(

Как насчет этого: вы можете найти каталог JAVA_HOME / bin, который использует Borland? Если да, то вы можете переименовать javac.exe (например, javacnew.exe) с помощью javac.bat, который, в свою очередь, вызовет javacnew.exe (а также передаст необходимые аргументы)?

Я не знаю, поможет ли это, поскольку я не использую Borland, но в Eclipse это параметр, который вы прикрепляете к программе, которую собираетесь запустить. Каждая программа, которую вы запускаете в среде IDE, имеет свою конфигурацию, включая аргументы для виртуальной машины. Есть что-то подобное?

У вас есть файл jdk.config, расположенный в JBuilder2005 / bin /?

Вы должны иметь возможность изменять параметры vm в этом файле, например:

vmparam -Xms256m 
vmparam -Xmx256m

Сообщите мне, работает ли это, я нашел это на страница, где говорилось о редактировании связанных настроек в JBuilder 2005.

При этом изменяются настройки JDK, под которым работает JBuilder (поскольку он сам является java-приложением), а не тот, который вы выбрали в настройках проекта, который будет использоваться для компиляции вашего проекта.

Peter 25.03.2009 03:11
Ответ принят как подходящий

вы нашли хорошее решение этой проблемы?

У меня такая же проблема, и я нашел следующее решение: Переменная среды JAVA_TOOL_OPTIONS может использоваться для предоставления параметров JVM.

http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#tooloptions

Я создал командный файл JBuilderw.bat со следующим содержанием:


установить JAVA_TOOL_OPTIONS = -Xmx256m

JBuilderw.exe


Каждый раз, когда я запускаю JBuilder, используя этот командный файл, env.var. Будет установлен JAVA_TOOL_OPTIONS, и javac.exe получит настройку. JVM отображает в конце следующее сообщение: «Выбрано JAVA_TOOL_OPTIONS: -Xmx256m».

Недостаток: все виртуальные машины, запущенные JBuilder, получат эту настройку. :(

Спасибо, JB

Отредактируйте файл jbuilder.config. Прокомментируйте эти две строчки:

  • vmmemmax 75%

  • vmmemmin 32m

они должны быть <1Gb and with a > 1Gb PC, 75% слишком велик?

Другие вопросы по теме

Похожие вопросы

Почему мой класс не может быть запущен после объявления пакета и не может быть найден другим классом в том же пакете/папке?
Как решить проблему, приводящую к выводу сообщения об ошибке «класс не найден, неправильное имя класса»?
Как скомпилировать класс Java с помощью javac без каких-либо зависимостей даже от базовых классов, таких как java.lang.*?
Как вызвать ошибку/предупреждение сразу после компиляции/запуска, если элемент в моем пути к классу отсутствует
Проблема с запуском AspectJ Load-Time-Weaving с помощью команды java
Не удается запустить скомпилированный файл класса ajc в терминале с использованием Java
Получить значение как Class<?> для аннотации с помощью модуля jdk.compiler
Получить версию класса java из javac или JRE без скомпилированного класса
Почему компилятор Java не встраивает эти вызовы в одно предложение if?
Поле доступа к внутреннему классу до java-11