Hi,
ich habe wieder ein Problem mit der Erstellung von OSGi-Bundles durch Maven.
Konkret würde ich in einem Bundle gerne commons-configuration verwenden. Dieses ist auch durch entsprechende Manifest-Header von Haus aus "OSGi-fiziert".
Ein Start meines Bundles schlägt jedoch erstmal fehl, weil commons-configuration optionale Maven-Abhängigkeiten an verschiedene Bibliotheken (teilweise keine Bundles) hat, die jedoch alle durch [c]Import-Package[/c] benötigt werden. Beispiel: Es gibt eine optionale Maven-Abhängigkeit an javax.mail:mail:1.4; [c]Import-Package[/c] importiert aber explizit [c]javax.mail.internet[/c] u. v. m.
Ich habe noch einen wahrscheinlich entsprechenden Bug-Report gefunden, um den sich aber seit 1.5 Jahren keiner gekümmert hat.
Wie kann ich diese Diskrepanz zwischen Maven- und OSGi-Abhängigkeiten lösen? Wenn ich alle Abhängigkeiten sowieso brauche, wieso sind sie dann optional? Und wenn ich alle optionalen Abhängigkeiten nochmal extra angeben muss, wozu habe ich dann ein Dependency-Management? Wie soll ich die nicht-Bundles (wie z. B. javax.mail:mail) commons-configuration verfügbar machen?
ich habe wieder ein Problem mit der Erstellung von OSGi-Bundles durch Maven.
Konkret würde ich in einem Bundle gerne commons-configuration verwenden. Dieses ist auch durch entsprechende Manifest-Header von Haus aus "OSGi-fiziert".
Ein Start meines Bundles schlägt jedoch erstmal fehl, weil commons-configuration optionale Maven-Abhängigkeiten an verschiedene Bibliotheken (teilweise keine Bundles) hat, die jedoch alle durch [c]Import-Package[/c] benötigt werden. Beispiel: Es gibt eine optionale Maven-Abhängigkeit an javax.mail:mail:1.4; [c]Import-Package[/c] importiert aber explizit [c]javax.mail.internet[/c] u. v. m.
Ich habe noch einen wahrscheinlich entsprechenden Bug-Report gefunden, um den sich aber seit 1.5 Jahren keiner gekümmert hat.
Wie kann ich diese Diskrepanz zwischen Maven- und OSGi-Abhängigkeiten lösen? Wenn ich alle Abhängigkeiten sowieso brauche, wieso sind sie dann optional? Und wenn ich alle optionalen Abhängigkeiten nochmal extra angeben muss, wozu habe ich dann ein Dependency-Management? Wie soll ich die nicht-Bundles (wie z. B. javax.mail:mail) commons-configuration verfügbar machen?