найти зависимости в цели / классах вместо локального хранилища? - PullRequest
2 голосов
/ 07 января 2010

Резюме: я ищу способ дать команду maven искать зависимости в target / classes вместо jar в локальном хранилище

Скажем, у меня есть 2 модуля, A и B, где A зависит от B. Оба перечислены в модуле S. Обычно мне нужно запустить 'mvn install' в S. Я ищу способ запустить 'mvn compile 'так что когда A скомпилирован, его путь к классу будет содержать ../B/target/classes вместо ~ / .m2 / repository / com / company / b / 1.0 / b-1.0.jar.

(моя причина в том, чтобы у меня была возможность непрерывной компиляции без необходимости выполнять упаковку и установку, или, точнее, использовать 'mvn scala: cc' на нескольких модулях)

Ответы [ 2 ]

2 голосов
/ 08 января 2010

я знаю, это раздражает.который помог мне здесь, безусловно, поддержка IDE.eclipse и IntelliJ умны собирать все зависимости после выполнения импорта в maven-проект.четные зависимости между модулями компилируются в реальном времени.

2 голосов
/ 08 января 2010

Я не думаю, что это возможно без ужасного взлома, это просто не то, как работает Maven. Maven использует бинарные зависимости и для их разрешения необходим локальный репозиторий. Итак, лучший способ справиться с этим - запустить сборку реактора на всех модулях. На всякий случай взгляните на Советы и хитрости Maven: Расширенные настройки Reactor .

Но разве вы не можете просто импортировать все свои проекты в IDE и использовать «ссылки на проекты» (т.е. настроить свои проекты так, чтобы они зависели от исходного кода вместо JAR), как это делают большинство разработчиков Java? Это обычный подход, позволяющий избежать «1005 * артефакта», чтобы «увидеть» модификации.

Если это невозможно, и если вы действительно не хотите install артефактов в своем локальном хранилище, вам придется переместить свой код в уникальный модуль.

...