Я занимаюсь разработкой приложения, использующего базу данных Cassandra NoSQL, и добавляю веб-интерфейс.У меня есть 2 проекта: cassandra-access (это проект DAL) и веб (этот проект является веб-приложением).
Сценарий прост.Cassandra-access имеет зависимости от hector.jar, которого нет в репозитории maven.Поэтому я добавил эту зависимость в свой локальный репозиторий с помощью mvn install: install-file и перечислил свой репозиторий в родительском pom:
<repositories>
<repository>
<id>loc</id>
<url>file://${basedir}/../mvn-local-repository</url>
</repository>
</repositories>
В веб-проектах pom я добавил зависимость от Cassandra-access.Но когда я запускаю веб-приложение с привет-миром, читаемым из базы данных, я получаю исключение classNotFound, как будто hector.jar не находится на пути к классам.Когда я пишу mvn clean install, возникающая война веб-проекта не включает hector.jar в WEB-INF / lib.Это еще раз подтверждает мою теорию.
Как добиться этой войны, чтобы получить все переходные зависимости?Я думал, что все зависимости, которые находятся в области компиляции (которая по умолчанию) будут скопированы.
Веб-проекты pom:
<dependency>
<groupId>net.product</groupId>
<artifactId>cassandra-access</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Cassandra-access pom:
<dependency>
<groupId>me.prettyprint</groupId>
<artifactId>hector</artifactId>
<version>0.7.0</version>
</dependency>