Как заставить IDEA брать зависимости с m2?

Ссылка скопирована
1 ответ

У меня мультимодульный проект (A, B например)

Проект A зависит от проекта B. Проект B зависит от некоторых внешних зависимостей, которые он шейдит и релоцирует. Но из-за того, что IDEA подгружает именно открытый проект, в проекте A внешняя зависимость не релоцирована и, следовательно, maven не может собрать проект А (но если я несмотря на ошибки напишу релоцированные импорты, всё будет ок).

Если нажать ПКМ по проекту B и сделать его игнорируемым, то ошибки также пропадут, поскольку IDEA будет брать зависимость из m2 с правильными pom.xml и классами.

Собственно хотелось бы узнать как можно справиться с этой проблемой.

Заранее спасибо

Дополнительно:

2024.1 Добавлена поддержка Maven Shade
Пока не работает с генериками, но и на том спасибо

Ответы:

mvn install утанавливает зависимости в локальный репозиторий.
Т.е. нужно собрать модуль B - mvn clean install - и он будет установлен в локальный репо

  • Да, но у идеи есть такая фича: если открыт проект, который является зависимостью другого открытого проекта, то идея будет брать классы для него именно из открытого проекта, а не с репозитория. А там, очевидно, maven shade не успел поработать(
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Для того чтобы IDEA брала зависимости с m2, вам необходимо настроить Maven в вашем проекте.

1. Убедитесь, что у вас установлен и настроен Maven на вашем компьютере. Если его нет, скачайте и установите Maven с официального сайта.

2. Откройте ваш проект в IntelliJ IDEA.

3. Откройте файл pom.xml в корне вашего проекта. Это файл конфигурации Maven, где вы указываете зависимости и настройки проекта.

4. Добавьте необходимые зависимости в секцию вашего pom.xml. Например:

 
 
        org.springframework
        spring-core
        5.3.9

org.springframework spring-core 5.3.9

5. После добавления зависимостей, IDEA должна автоматически обновить проект и подтянуть все необходимые библиотеки из m2.

6. Если IDEA не обновляет зависимости автоматически, вы можете попробовать обновить проект вручную. Для этого откройте вкладку Maven слева внизу и нажмите на кнопку "Reload Project".

Теперь ваш проект должен брать зависимости с m2 и все библиотеки должны быть доступны для использования в вашем проекте. Если у вас возникли какие-либо проблемы или вопросы, не стесняйтесь спрашивать!

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно