ОК, я думал, что понял, как использовать 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).
Что я делаю неправильно?