ОК, я подумал Я понял, как использовать Maven ...
У меня есть мастер-проект M
, в котором есть подпроекты A
, B
и C
. C
содержит некоторые общие функции (в основном интерфейсы), которые необходимы A
и B
. Я могу запустить mvn compile jar:jar
из корневого каталога проекта (каталог M
) и получить файлы JAR A.jar
, B.jar
и C.jar
. (Версии для всех этих артефактов в настоящее время 2.0-SNAPSHOT
.)
Главный pom.xml
файл в каталоге M
перечисляет C
под своим тегом <dependencyManagement>
, так что A
и B
могут ссылаться на C
, просто включив ссылку, например так:
<dependency>
<groupId>my.project</groupId>
<artifactId>C</artifactId>
</dependency>
Пока все хорошо. Я могу запустить mvn compile
из командной строки, и все работает нормально. Но когда я открываю проект в NetBeans, он жалуется на проблему: «Некоторые артефакты зависимости отсутствуют в локальном репозитории», и в нем говорится, что отсутствующий артефакт - C
. Аналогично, из командной строки, если я перехожу в каталоги A
или B
и пытаюсь запустить mvn compile
, я получаю сообщение «Ошибка сборки: не удалось разрешить артефакт».
Я ожидаю, что смогу вручную перейти туда, где был построен мой C.jar
, и запустить mvn install:install-file
, но я бы предпочел найти решение, позволяющее мне просто работать непосредственно в NetBeans (и / или в Eclipse с использованием m2eclipse).
Что я делаю не так?