Почему Eclipse висит на 57% со статусом "Проверка атрибутов запуска..." при запуске конфигурации запуска?
После недавнего перехода на Maven из Ant, запуск конфигураций, которые были запущены непосредственно перед Maven, занимает слишком много времени и потребляет ненормальное количество ресурсов, в то время как Eclipse готовится к запуску проектов.
Eclipse показывает это сообщение статуса:
Verifying launch attributes...
При завершении 57% Eclipse зависает в течение нескольких минут, прежде чем, наконец, запустит конфигурацию запуска. После запуска проект работает нормально и без проблем.
Я нашел эту статью в блоге, которая предложила очистить локальное рабочее пространство, но это не решило проблему, особенно учитывая, что автор использует Git, и я нет.
Я использую только последний плагин m2e maven с последней версией Eclipse.
Что заставляет Eclipse блокироваться при запуске этих конфигураций запуска и как его исправить?
Ответы
Ответ 1
У меня были те же симптомы. Я мог бы исправить это, установив
Eclipse -> Preferences -> Maven -> User Settings
Мой файл настроек пользователя maven хранился в удаленной папке. После перемещения файла на локальный диск, тест теперь запускается мгновенно снова.
Ответ 2
Это может быть вызвано дублирующимися/ошибочными записями в файле проекта .classpath
. Эти записи не нужны, так как плагин maven позаботится о том, чтобы правильно настроить путь к классу для запуска вашего проекта.
Чтобы предотвратить зависание Eclipse, откройте все файлы .classpath
, на которые ссылаются проекты, которые должны находиться в корневой директории проекта.
Удалите все записи, у которых src
в качестве значения атрибута kind
.
Например:
<classpathentry kind="src" path="src"/>
Как только все эти записи будут удалены, Eclipse мгновенно запустит ваш проект.
Ответ 3
Я знаю, что это довольно старый вопрос, но сейчас у меня эта проблема, и ни одно из решений, найденных в Интернете, похоже, не работает:
В конце концов я узнал (как-то), что наличие дубликатов файлов .classpath в рабочей области может вызвать серьезные проблемы. При импорте многомодульного проекта maven вы можете легко сделать это, импортировав все ваши модули и ваш главный модуль (модуль типа pom). Таким образом, вы фактически импортируете все дважды. Закрытие этого главного модуля в Eclipse решило проблему для меня.
Другим обходным решением было бы не полагаться на m2eclipse и использовать mvn eclipse: eclipse, а затем импортировать ваши проекты как "существующий проект".
Ответ 4
К сожалению, информация о ходе запуска в Eclipse не очень точна. Значение 57% - это место, где происходит вся тяжелая работа (см., Например, ошибку 354338).
Если вы запускаете приложение Eclipse или тесты плагинов JUnit, убедитесь, что на вашей целевой платформе установлены следующие плагины:
- org.junit
- org.eclipse.jdt.junit.runtime
- org.eclipse.jdt.junit4.runtime
- org.eclipse.pde.junit.runtime
В противном случае Eclipse будет выполнять поиск по всему кэшу p2 (в моем случае более 6000 jar файлов плагинов занимает более 5 минут) для этих плагинов.
Ответ 5
Я нашел этот способ, чтобы избежать "проверки атрибутов запуска... 57%" в Eclipse-Luna-SR2
Ответ 6
С eclipse 2018-12 у меня была задержка около 10 секунд на "57%, проверка атрибутов запуска" для каждого запуска основного класса или теста junit. Я использовал инструмент windows "procMon", чтобы определить около 500 000 неудачных попыток доступа к банкам за этот период, которых у меня нет в моем classpath. Я нашел эти ссылки на банку внутри записи "Class-Path" во многих банках, которые я использую. После удаления записи Class-Path из всех банок задержка теперь составляет всего 1 секунду!
Некоторые банки были подписаны. Затем мне пришлось удалить файлы подписи (META-INF/*.SF|*.DSA|*.RSA|*.EC
) из банки.