Ответ 1
Я смог решить это, щелкнув правой кнопкой мыши по проекту и выбрав "Запустить как" > "Maven Clean"
Тьфу! Мой Eclipse застрял в бесконечном цикле:
Рабочее пространство здания никогда не превышает 58%.
Подробнее:
Google GWT предоставляет пример приложения MobileWebApp. Они предлагают добавить его в Eclipse через File > Import > Checkout Maven projects из SCM.
Я выполнил инструкции в в этом блоге для добавления плагинов для m2e, subclipse и соединителя subclipse m2e.
После установки плагинов я импортировал образец проекта через File > Import > Checkout Maven projects из SCM и этот URL.
Импорт, казалось, завершился нормально, а Eclipse не отображает никаких маркеров. Но теперь у меня есть это бесконечное освежение и строительство и не знаю, что вызывает его или как его исправить.
Версии:
Приветствуются любые советы.
Я смог решить это, щелкнув правой кнопкой мыши по проекту и выбрав "Запустить как" > "Maven Clean"
Я открыл файл модуля .project. Было две записи:
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
</buildCommand>
Я удалил запись org.eclipse.m2e.core.maven2Builder и магически исправил проблему.
Я получал ту же проблему в проекте Eclipse (Juno) Maven, который не имел ничего общего с GWT - он просто продолжал обновляться и "Invoking Maven Project Builder". Переход к представлению "Прогресс" и запрос на отмену записи о прогрессе (нажав на эту красную кнопку остановки справа) не помогли.
Проект, за которым строитель продолжал застревать, всегда был одним и тем же, и пара уровней в глубине множества проектов multi-pom maven в eclipse.
Что в конечном итоге решило это для меня, просто входило в этот конкретный проект Properties
> Builders
и снял флажок Maven Project Builder
(но не проверял Java Builder
так, чтобы он все еще автоматически строился при изменении кода). Я просто проигнорировал предупреждение о том, что это "расширенная операция" и, возможно, "много побочных эффектов" - я полагал, что это не может быть более раздражающим, чем этот постоянный цикл обновления сборки. Я все еще не уверен, в чем причина этого цикла, но это остановило его для меня. И с тех пор у меня не было никаких проблем.
Я действительно решил проблему, вызванную плагином jaxb. Если для параметра forceRegenerate установлено значение true, вы получите цикл сборки в eclipse (Kepler в моем случае).
Убедитесь, что у вас установлено значение forceRegenerate для false в вашем плагине maven-jaxb.
<configuration>
<forceRegenerate>false</forceRegenerate>
</configuration>
M2e, даже в затмении Марса, кажется, как бесконечное здание.
В моем случае нет такой вещи, как повторяющиеся команды сборки, как указано ниже. Единственное, что, кажется, работает, когда дерево проекта является гигантским:
В противном случае вы застряли с устаревшим mvn eclipse:eclipse ...
и должны отказаться от использования команд maven из эхосистемы eclipse. Кажется, у M2e очень тяжелое время, сотрудничая со зверем.
Я все еще использую m2e, но должен сказать, что в 100 раз сложнее усвоить m2e, чем интеграцию maven в netbeans. С другой стороны, затмение намного быстрее для очень большой базы кода. Выберите свой яд, вы всегда будете укушены.
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>rootPom</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
JAVA_HOME
).path
, в моем случае путь C:\Program Files\Java\jdk1.8.0_101\bin
.Не уверен, какой из этих проблем разрешил проблему, я не вижу, что сейчас происходит автоматическая сборка.
После этого я создал новый проект maven. Который был установлен, чтобы использовать 1.7 по умолчанию, этот проект также привел к бесконечному циклу. Но 1.7 не настроен в eclipse. Обновление свойств проекта для использования версии java, доступной в моем eclipse, решило проблему.
он несколько раз работал у меня, когда я меняю свой JAVA_HOME на новое место
Я открыл файл модуля .project. Было два избыточных записей и удаление одного из них помогло
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
Эта проблема также возникает, когда maven не может удалить какой-либо файл, который может иметь слишком длинное имя. Таким образом, вы можете вручную перейти в свою целевую папку и очистить ее и перезапустить eclipse.
Я сделал что-то похожее на ответ Амоса М. Карпентера (fooobar.com/questions/128659/...)
Но также я создал новый настраиваемый конструктор со следующей конфигурацией:
Это компилирует мне проект без индикатора выполнения, но я вижу прогресс в текстовой консоли.
Проблема в моем случае заключается в том, что каждый раз, когда я компилирую этот проект, я загружаю WSDL, и мне нужно предоставить конфигурацию прокси. Когда плагин maven project builder пытается скомпилировать мой проект, он не работает и снова запускается в цикле.
Я попытался установить его в файл конфигурации settings.xml maven, но не работает для меня, и настройка прокси-сервера в командной строке работает.
Таким образом, создание этого настраиваемого конструктора делает работу и является новым подходом.
Я надеюсь, что это поможет вам.
Eclipse на моей рабочей станции зависает каждый раз, когда я пытаюсь обновить проект maven. Эта проблема не решена даже после того, как сообщество попробовало решить множество проблем/обходных путей. Единственное, что работает для меня, - это запустить mvn clean и установить команды из командной строки. Я заканчиваю задачу в диспетчере задач, запускаю команды mvn, а затем снова запускаю затмение. Запуск чистой сборки после перезапуска затмения работает нормально.
Я связал некоторые файлы в Eclipse, но исходный файл отсутствовал (тем временем был удален). Это заставило затмение перезапустить сборку. Удаление неработающей ссылки решило проблему.
В моем случае я запустил затмение, когда труба (|) выполняла другой процесс параллельно. Другим процессом было заклинивание моей нити затмения.