Ich habe folgende Situation:Zwei Bibliotheken bringen unterschiedliche Versionen derselben Abhängigkeit. Wie importiert man beide?
+ DentistApp
L TreatsLibrary
L IceCream 1.0
L CavityCausesLib
L IceCream 2.0
Jetzt bekomme ich eine VerifyError
weil TreatsLibrary
ist IceCream.giveToKidAfterDrill()
verwendet, die in der Version 2.0 aus rechtlichen Gründen entfernt wurde.
Wie importiere ich beide Versionen und stelle sicher, dass jedes seine eigenen verwendet?
Dies kann nicht mit nur einem ClassLoader durchgeführt werden, da in einem ClassLoader nur eine Version der Klasse existieren kann. Sie können sich OSGi ansehen, wenn Sie nicht Ihren eigenen Mechanismus zum Laden von Klassen implementieren möchten. –
Ja, es kann gemacht werden, ich erinnere mich einfach nicht, wie es mit dem Umbenennen von Bibliotheken zu tun hatte – gurghet
Sie haben dies mit sbt-Assembly getaggt, was Ihnen nur hilft, wenn Sie Ihre Bibliotheken mit einem Uber JAR packen. –