Например, у меня есть игровой проект:
superegg/
|- game/
| `- pom.xml -> (a lot of jars.)
|- ai/
| `- pom.xml
|- sprite/
| |- egg/
| | `- pom.xml -> sprite
| |- badguy/
| | `- pom.xml -> sprite, ai
| `- pom.xml -> game
` pom.xml
(Здесь -->
означает зависит от )
Все субмодули имеют версии SNAPSHOT, и они не установлены и не развернуты.
Теперь я хочу что-то сделать в badguy/
:
.../sprite/badguy/ $ mvn exec:java ...
однако maven пытается найти зависимости sprite, ai
из репозиториев maven вместо ../../game
и ../../ai
.
Как заставить Maven разрешать зависимости подмодулей в директории проекта?
Я не устанавливаю их, потому что есть слишком много подмодулей (хотя они не перечислены здесь), процедура полной компиляции / установки занимает очень много времени). Я тоже пытался, но не получилось:
superegg/sprite/badguy/ $ mvn --reactor dependency:build-classpath
[INFO] Cannot execute mojo: build-classpath. It requires a project with an existing pom.xml, but the build is not using one.
superegg/ $ mvn -pl sprite/badguy dependency:build-classpath
Missing dependencies: ...
superegg/ $ mvn --reactor -pl sprite/badguy dependency:build-classpath
Project 'some-module' is duplicated in the reactor
Кстати, я могу собрать весь проект из superegg / без проблем.