Всем привет! Недавно я опубликовал статью, в которой сказал что она будет последней по Easy Maven т.к. все что можно я уже делегировал Maven - импорт проекта и запуск тасков. Но недавнее обилие багов в IDEA 2025.3 связанных как с зависанием так и повышенным потреблением памяти, окунуло меня в баг трекер IDEA, где я нашел много похожих проблем, которые также затрагивают и мавен индексы. Помню как меня самого это раздражало, когда IDEA чуть ли не при каждом открытии, начинает сканировать локальный репозиторий. Про это даже писали в комментариях - где ответ был один - отключить это. Плюс недавно один из постов в тг канале (спасибо за это @javadev), еще больше убедил меня в том, что так дальше жить нельзя и я решил поправить проблему поиска зависимостей так как я ее вижу - не изобретать велосипед, а делегировать поиск туда, где это уже реализовано. Ведь как известно: самый лучший код - тот который ты не написал. Посмотрим что из этого вышло.

Bundled Maven Indexes & Maven Dependency Helper

По индексам также, существует много проблем: OOM, CPU load, частое сканирование локального репозитория, некорректная работа и пр. Что то закрыто, что то нет, что то даже исправлял я), когда еще работал в команде Maven Plugin. Также есть нарекания и по самому поиску/авто-дополнениям зависимостей. Для этого я и привел ссылку на пост в тг канале. 

Наверное не в последнюю очередь, именно из за этого и появился в 2019 году такой замечательный плагин - как Maven Dependency Helper. Который имеет почти 400к скачиваний. И наверное их было бы больше, но в последних версиях IDEA, он не работает и последнее обновление было в 2022 году. И не смотря на то что плагин не работает, он все равно присутствует в маркет-плейсах GigaIDE и OpenIDE

Maven Dependency Helper

Но у него крутая идея - делегировать поиск зависимостей Maven Central - у него есть свой API и автор просто сделал кастомный UI для поиска. В этом по видимому и кроется текущая проблема - при его открытии происходит ошибка и данные не загружаются в диалоговое окно. На эту тему есть issue, но коммитов в данном репозитории не было с 2022 года. И также он не адаптирован под разные разрешения экранов пользователей. На моем скрине, что приведен выше, видно на сколько маленькие поля ввода, что туда даже не помещается текст.

Мое решение

Вооб��ем это я и решил исправить. Но не переделывать UI, а просто открыть браузер в IDEA со страницей поиска зависимостей и добавить действия по ее запуску из билд файлов, тем более IDEA имеет встроенный embedded браузер и можно выполнять поиск в бразуере в самой IDEA не переключаясь на другие "окна". Кстати в той же IDEA был Package Search плагин, который на данный момент deprecated и приказал долго жить. Смысл там примерно тот же - они создали веб сервер где хранят инфо о различных артефактах и предоставляют API по работе с ним. По сути переизобрели Maven Central, только на его поддержку приходиться тратить ресурсы, по моему мнению это и привело к его закрытию, также в комментария к плагину, где сказано что он deprecated - рекомендуют использовать поиск по локальному репозиторию) Поэтому я решил ничего не изобретать, а просто открывать в браузере Maven Central. Посмотрим что из этого вышло.

Мы можем кликнуть в любом месте билд файла и откроется окно с поиском. Если кликнуть по зависимости, то ее данные автоматически применятся к параметрам поиска. GroupId по умолчанию не участвует в поиске, но это можно изменить в настройках.

Также в настройках можно прописать любой URL (но параметры поиска автоматически подставляются только для Maven Central) и выбрать режим отображения. Если у ваc небольшой экран, то удобнее открывать не в “сплит” окне, а в обычном и далее навигироваться между вкладками с помощью “хоткеев” alt + left/right:

Также я решил добавить поиск и для Gradle плагина. При добавлении зависимости скопированной из Maven Central, он автоматически преобразует ее в Gradle формат - данный функционал уже реализован в Gradle плагине.

Также есть иконка с “папочкой”, кликнув по которой, мы откроем локальную директорию с данной зависимостью или ее groupId директорию, если артефакт не найден.

У текущего решения также есть свои недостатки: 

  • события “горячих” клавиш перехватываются IDEA из за чего у меня не получилось “поиграться” с масштабом браузера. 

  • поддержка тем (темная/светлая) - сайт может быть не адаптирован под темную тему IDEA и плохо отображаться.

  • долгое первое открытие, нужно будет подождать когда страница полностью загрузится и заполнится кэш браузера - может показаться будто бы ничего не происходит.

  • я оставил доступ к Dev Tools браузера и его можно вызывать через контекстное меню, чтобы оттуда попытаться кастомизировать параметры браузера, но лично мне это не сильно помогло.

Заключение

Буду рад, если это будет кому то полезно и если вы найдете время и попробуете мой плагин и дадите какую либо обратную связь или сообщите об ошибках. Может быть у вас также есть проблемы с при работе с Maven проектами в IDEA? Или есть предложения, что можно улучшить? Тогда не стесняйтесь писать об это в комментариях или в лс. Проект можно скачать на marketplace или с GitHub.