В настоящее время, когда я пишу пакет, который зависит от пакета, мне нужно «импортировать» или «зависеть» от целого другого пакета в Maven, который содержит этот пакет.
Это кажется контрпродуктивным по сравнению с тем, что дает мне OSGi.
Например, допустим, у меня есть два пакета: BundleAPI и BundleImpl.
BundleAPI предоставляет интерфейсы API:
// BundleAPI's manifest
export-package: com.service.api
BundleImpl предоставляет реализацию:
//BundleImpl's manifest
import-package com.service.api
Однако, когда я кодирую BundleImpl в Eclipse, я вынужден «зависеть» в maven POM от самого BundleAPI , так что eclipse не жалуется.
//BundleImpl's POM
<dependency>
<groupId>com.service</groupId>
<artifactId>com.service.api</artifactId>
[...]
</dependency>
Итак - с одной стороны, я использую только пакет com.service.api , а с другой - мне нужен весь пакет - BundleAPI .
Есть ли способ сделать maven или eclipse достаточно умными, чтобы просто найти где-нибудь пакеты вместо целых пакетов?
Я очень не понимаю, как это работает - любой тип c здесь было бы здорово. Может быть, мне не хватает чего-то принципиально простого?