Проблема в том, что версии зависимостей, указанные в определении pom, - это библиотеки, которые мне нужно использовать (они имеют исходные коды / javadoc и т. Д.), Но maven помещает все доступные версии библиотек в classpath (...)
Нет, это не правда. Мейвен указывает на путь класса то, что ты ему скажешь.
(...) так что если я нажму ctrl + shift + T или зайду в какой-то класс, который принадлежит этой зависимости, то это может быть класс без sources / javadoc, который не объявлен в определении pom, но в локальном репозитории maven .
В Eclipse, когда вы открываете тип , Eclipse просто ищет тип в пути к классам всех проектов в рабочей области. Поэтому, если у вас есть проект A с foo-X.jar
на пути к классам и проект B с foo-Y.jar
на пути к классам, и если оба содержат тип Bar
, поиск Bar
выведет список обеих версий.
Но Eclipse не выполняет поиск в JARS, которые не определены как зависимости проектов в вашем worskpace, он не ищет во всех JAR-файлах вашего локального репозитория. И это не совсем проблема Maven или m2eclipse.
Тем не менее, единственный известный мне способ ограничить поиск, скажем, зависимостей только проекта A, - это определить Рабочий набор с помощью меню под верхним стрелка вправо:
![alt text](https://i.stack.imgur.com/uNSe2.png)