Подтвердить что ты не робот

Получение ошибки при запуске сообщения компилятора javac.exe при использовании Ant в Eclipse

Когда я запускаю свою конструкцию Ant в Eclipse, я получаю следующее сообщение об ошибке и сбой сборки Ant.

Сообщение об ошибке: Ошибка при запуске компилятора javac.exe

Строка, в которой останавливается сборка:

<javac destdir="${classes.home}" debug="on" fork="true" memoryinitialsize="512M" memorymaximumsize="1G">
        <classpath refid="classpath"/>
        <src path="${source.home}"/>
</javac>

Кто-нибудь сталкивался с подобной проблемой раньше? или кто-нибудь знает, что здесь не так?

Информация о системе: Eclipse Helio, JDK 1.5

4b9b3361

Ответ 1

У меня была та же проблема, и проблема была в eclipse. java.home имел в виду JRE вместо JDK. Я изменил его, и сборка прошла успешно. Вы можете сделать следующее, чтобы изменить его на JDK:

Настройки > Java > Установленная JRE > Добавить... Для "JRE Type" выберите "Стандартная виртуальная машина" > Далее > Каталог: выберите каталог JDK (вместо JRE) (в моем случае: C:\Program Files\Java\jdk1.6.0_16), нажмите OK.

Теперь вы вернулись в "Установленные JRE", также выберите JDK.

Следующая статья помогла найти решение. JAVA_HOME указывает на неправильное место

Ответ 2

Если принятый ответ выше не решает проблему для вас (как это было не для меня), после обновления java.home в JDK вместо JRE, как предложено в принятом ответе выше, Go to Run → Внешние инструменты → Конфигурация внешних инструментов → выберите ваш файл build.xml в меню слева → выберите вкладку JRE → выберите JDK (из выпадающего списка) для параметра "Отдельная кнопка JRE" → "Выполнить".

Это должно устранить проблему.

Ответ 3

У меня была та же проблема, и я удалил атрибут fork из javac, и проблема исчезла.

Ответ 4

Возможно, проблема javac заключается в том, что "javac.exe" не находится в вашей системе PATH, пожалуйста, отредактируйте свой системный путь и добавьте в него свой каталог JDK/bin, чтобы исправить эту проблему.

Откройте оболочку или командную строку и попробуйте ввести: javac, чтобы проверить, правильно ли установлен системный путь.

Ответ 5

Настройка затмения, чтобы указать на JDK вместо JRE, не работала для меня. С дальнейшим исследованием я решил эту проблему, остановив процесс сборки от разветвления. В файле build.xml удалите атрибут fork из тега <javac>.

Ответ 6

Я решил это, проверив мои переменные среды в моей Windows 7. Я обнаружил, что JAVA_HOME указывает на C:\ Program Files (x86)\Java\jdk1. 6.0_31, когда предполагается, что C:\ Программные файлы\Java\jdk1.6.0_31. Если вы хотите узнать, как прочитать это

Ответ 7

Я столкнулся с той же проблемой, и вот мой совет, может быть, это поможет кому-то. Фактически, сообщение Error running javac.exe compiler означает, что что-то пошло не так. Вопрос в том, что именно. Когда Ant запускает задачу javac с флагом fork="true", она не печатает никаких сведений об ошибке. В моем случае он не печатал их даже после того, как я добавил verbose="true", как предложено здесь. Решение заключалось в том, чтобы добавить флаг -verbose в командную строку Ant:

ant -verbose

После этого Ant начинает печатать полные сообщения об ошибках, поэтому вы можете исправить проблему.

Ответ 8

Попробуйте изменить memorymaximumsize = "1G" на memorymaximumsize = "512M".

Ответ 9

Попробуйте освободить основную память. Закройте программы с памятью и остановите голодные процессы, если сможете.

Ответ 10

Я пробовал все, но ничего не работало для меня, пока я не установил ( fork = 'no' или fork = 'false' в вашем случае) и отлично работал у меня

Ответ 11

Я удалил fork = "true", и я прошел мимо этого фрагмента кода. Что может быть интересно тем из вас, у кого есть эта проблема, так это то, что теперь, на этой строке, я получаю вывод:

'Since fork is false, ignoring memoryMaximumSize setting.'

Таким образом, это может быть проблема с memoryMaximumSize, если вам нужно сохранить настройку fork = "true", как было предложено выше.

Ответ 12

Я исправил проблему следующим образом:

В моей домашней папке Java был неправильный путь. Он должен был быть C:\Program Files (x86)\Java\jdk1.5.0_15, но вместо этого он был C:\Program Files (x86)\Java\jdk1.5.0_15\bin.

Ответ 13

Мы сталкиваемся с той же проблемой на машине для сборки Windows, тогда как локально (на машине Unix) все работает. Fork = true тоже не помогло, это привело к отказу процесса fork и только на сервере сборки

Исследование

После некоторых исследований мы поняли, что путь к классам может быть слишком длинным. Мы воссоздали точную структуру папок локально на машине Windows, и мы сталкиваемся с той же проблемой, и мы увидели, что путь к классам слишком длинный (мы использовали -v и -d для подробностей, как долго это было), и это стало причиной ошибки.

Решение

Решением было создать банку, содержащую только манифест со всеми библиотеками, см. этот ответ для более подробной информации

Ответ 14

Если вы запустите ant в eclipse, нажмите кнопку run as → ant second и выберите путь JDK и снова запустите сборку.