Montag, 15. März 2010

Maven Dependency Hell

Einer der Vorzüge Mavens ist das einfache Dependency-Management, also der Umgang mit fremden JARs. Diese Einfachheit kann auch mal zu Umwegen führen, wie bei diesem Beispiel: Baralga benötigt jide-oss eine Bibliothek die das Erstellen von Swing-GUIs erleichtert. Diese Bibliothek nutzt OS-spezifische Bibliotheken auf dem Mac z.B. die Datei aqua.jar. Mit Mac OS X 10.6 (Snow Leopard) gibt es diese Datei nicht mehr, Apple hat die Packages umbenannt und auch die JAR (siehe hier). Baralga ist auf dem Mac weiterhin lauffähig. Aber man kann es leider nicht mehr kompilieren, weil Maven diese Abhängigkeit nicht auflösen kann. Ein Workaround besteht darin, die jidee-oss.2.8.4.jar herunter zu laden und als System-Jar zu deklarieren und den Pfad zu ihr anzugeben. Noch ein Tipp, Maven akzeptiert hier nur absolute Pfade.

<dependency>
<groupId>com.jidesoft</groupId>
<artifactId>jide-oss</artifactId>
<version>2.8.4</version>
<scope>system</scope>
<systemPath>/Users/ebert/Downloads/jide-oss-2.8.4.jar</systemPath>
</dependency>

Keine Kommentare:

Kommentar veröffentlichen