Зависимость Maven не распространяется на зависимый проект - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть два проекта Maven в моей рабочей области Eclipse, datastore и service.

datastore имеет HSQLDB как зависимость Maven с областью действия compile.

С момента service зависит от datastore, я добавил datastore в качестве необходимого проекта для него в Свойства> Java Путь сборки> Проекты .

Однако, когда я сейчас запускаю service, я получаю ClassNotFoundException для драйвера HSQLDB JDB C (в одном из datastore классов, вызываемых из service).

Если я добавлю HSQLDB в качестве зависимости к service все работает как надо - хотя я понимаю, что мне это не нужно, поскольку зависимости Maven с областью действия compile должны распространяться на зависимые проекты.

Кроме того, я замечаю, что pom.xml для service содержит нет ссылки на datastore.

Где ошибка, если есть?

1 Ответ

1 голос
/ 13 апреля 2020

Свойства> Java Путь сборки> Проекты - это механизм Eclipse, который не распространяет зависимости Maven. Чтобы распространение зависимостей работало должным образом, datastore должна быть зависимостью Maven.

Добавьте datastore в качестве зависимости Maven, используя идентификатор группы, идентификатор артефакта и версию из pom.xml. После этого проект можно удалить из Свойства> Java Путь сборки> Проекты .

...