Можно ли выделить зависимости из одного проекта в Maven?

1

Я пытаюсь взломать существующий проект (назовём его bar), чтобы проверить мой проект (назовем его foo).

Поэтому в bar pom я добавил зависимость от foo. Правильно, когда я это делаю, все существующие тесты в bar начинают сбой, так как они даже не запускаются (это некоторые интеграционные тесты, которые делают вызовы БД). Я уверен, что есть некоторая зависимость в foo, который является движущей силой bar с умом. Есть ли какая-то команда или способ, который покажет мне только те зависимости, которые были переопределены после добавления foo в bar в качестве зависимости?

  • 0
    Они терпят неудачу только потому, что вы добавляете зависимость без изменения кода интеграционного теста?
  • 0
    Да. Я не трогал код. Это устаревший код с использованием Java 1.4. И мой новый проект использует Java 7. Но забавно то, что он проваливается без меня, даже если я использую новую зависимость в коде.
Показать ещё 2 комментария
Теги:
maven

2 ответа

0

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

mvn dependency:tree

а также

mvn dependency:analyze

по проекту. Оба будут выводить список всех зависимостей (прямых и транзитивных) в разных форматах. Запускайте их один раз, а один раз с изменениями, затем сравните результаты (обязательно заказывайте результаты по мере необходимости, потому что даже неизменные зависимости могут быть перечислены в другом порядке). Это должно помочь вам понять, что изменилось.


Кроме того, рассмотрите вопрос о том, существует ли проблема независимо от maven и зависимостей. Может быть, проект сканирует путь к классам для инъекции зависимостей и задыхается в одном из новых классов? Или, может быть, это смешные вещи с отражением. Не знаю, если это проблема, но просто постарайтесь сохранить открытый разум.

0

Если вы используете eclipse, перейдите на вкладку иерархии зависимостей на вашем pom.xml. Затем с помощью зависимостей, которые вы не хотите, используйте эту конструкцию:

    <exclusions>
        <exclusion>
        </exclusion>
    </exclusions>

Кроме того, вы можете добавить <scope>test</scope> и он не будет добавлен в ваш файл jar (я думаю).

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню