2015-04-08 2 views
0

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

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

+0

Они терпят неудачу только потому, что вы добавляете зависимость без изменения тестового кода интеграции? – khmarbaise

+0

Да. Я не касался кода. Это устаревший код с использованием java 1.4. И мой новый проект использует java 7. Но самое смешное, что он терпит неудачу, даже если я не использую новую зависимость в коде. – noMAD

+0

Если у вас есть другие проблемы, если вы не добавляете зависимость, которая может вызвать проблемы с транзитивными зависимостями, которые могут быть проверены с помощью 'mvn dependency: tree' ... – khmarbaise

ответ

0

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

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

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

+0

umm .. I я действительно пытаюсь выяснить, что именно исключить. Я не хочу испытывать боль от грубой силы. – noMAD

0

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

mvn dependency:tree 

и

mvn dependency:analyze 

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


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