2016-03-23 4 views
0

Я новичок в Maven. Я искал в Интернете и знаю, как сделать один проект (назовите его A) как зависимость другого проекта (назовите его X). Это делается добавлением блока зависимостей в файле pom.xml X.что произойдет, если другой проект будет зависеть от maven pom.xml

Мой вопрос: что же происходит за сценой здесь? Из моих ограниченных знаний, которые я знаю обычно, добавляя зависимость в pom.xml, он автоматически установит jar для проекта maven. Я также утверждаю, что все зависимости A наследуются X в этом случае.

Я угадываю, что А будет установлен как банка на X тоже? Любая разница между тем, является ли зависимость библиотекой или моим собственным проектом, который является удаленным или локальным?

ответ

0

Не совсем уверен, что вы имеете в виду, но я сделаю снимок.

Что происходит, это зависимость (A в вашем случае), а ее транзитных зависимостей будут автоматически загружены и установлены в вашем локальном репозитории. Он ничего не сделает для проекта X, если вы не сообщите об этом. Это, безусловно, не ничего не делать A, кроме его установки, совершенно не осознает, что его использует проект X.

Если вы хотите, чтобы установить Maven проект X в вашем местного хранилища необходимо install его и его зависимость будет неявно установлена ​​в процессе. Maven не установит артефакт внутри другой (не уверен, что вы подразумеваете под этим).

Другими словами: есть только артефакты. Эти артефакты имеют координаты (groupId, artifactId и version), чтобы иметь возможность находить их в локальном репозитории или удаленно. Maven заботится об устранении этих артефактов (и их зависимостей) для вас.

+0

вот что я просил в основном. Фактически в моем описании A фактически зависит от X. Но я понял вашу точку зрения. – Acton

+0

А, ок. Извините за путаницу. В ближайшее время я отредактирую свой ответ, чтобы лучше отразить ваш вопрос. – Daniel

+0

все равно было бы полезно, если вы измените свой ответ, чтобы позволить A быть зависимым. – Acton

Смежные вопросы