У меня есть два проекта, которые я собираю и запускаю вместе. Эти проекты используют разные версии определенных банок. поэтому я могу иметь foo.1.15.jar и foo.1.16.jar как в моем maven репо. Файлы pom правильно определяют, какой проект должен использовать этот jar, и я могу запустить mvn verify для запуска всех моих тестов интеграции без проблем из командной строки.Тесты Eclipse junit с использованием неправильной версии maven jars
Однако, когда я пытаюсь запустить тест junit изнутри затмения, я часто сталкиваюсь с ошибками с неправильной версией используемой банки. Я считаю, что eclipse всегда использует самую новую версию jar, которую он находит в maven repo, поэтому, если он увидит foo.1.15 и foo.1.16, он будет использовать версию 16. Проблема в том, что я хочу 15 версии, тесты не сработают, если они работают с 16-й версией, потому что она не совместима с обратной совместимостью.
Как заставить eclipse признать, что ему нужно использовать более старую версию? В частности, есть ли способ, с помощью которого тесты junit распознают мой файл pom и используют правильные версии jar, указанные в pom?
Я использую m2eclipse, если это необходимо.
Редактировать: похоже, проблема не в том, чтобы каждый раз использовать новейшую банку.
Проблема в том, что мой проект A использует мой проект B. Использует foo.16 и B использует foo.15. тесты junit для A пытаются использовать foo.16, даже если в нем запущены классы в B, которые зависят от 15. Однако я не могу изменить зависимости, A нуждается в 16 и B. 15. Могу ли я заставить eclipse понять это?
Ваш правильный. Похоже, проблема в том, что мой проект A использует мой проект B. Использует foo.16 и B использует foo.15. junit внутри пытается использовать foo.16, даже когда он запускает классы в B, которые зависят от 15. Однако я не могу изменить зависимости, A нуждается в 16 и B. 15. Могу ли я заставить eclipse понять это? – dsollen
Вот ссылка на билет Eclipse: https://bugs.eclipse.org/bugs/show_bug.cgi?id=376616 – ljader