Blog

Smelly Jelly als Retter in der Not

Lars Vonk

Aktualisiert Oktober 23, 2025
2 Minuten

Für ein aktuelles Projekt verwende ich Maven 1 als Build-Tool. Ich generiere immer das Eclipse-Plugin, um die .project- und .classpath-Datei zu erzeugen, weil ich nicht sowohl in der project.xml als auch im Eclipse-Klassenpfad Abhängigkeiten hinzufügen möchte. Das Eclipse-Plugin kann auch die Quelldateien mit den Abhängigkeiten in Ihrem Projekt verknüpfen. Ich finde diese Funktion sehr praktisch, da man immer den Code einer bestimmten Abhängigkeit debuggen und durchgehen muss. Da das maven 1 Repository jedoch noch schlechter gepflegt wird als das maven 2 Repository, finden Sie keine Quell-Jars für die neueren Versionen der Abhängigkeiten (z.B. Spring 2.0). Abgesehen davon, dass dies sehr ärgerlich ist, dauert es auch ewig, bis das Eclipse-Plugin fertig ist, weil es eine Menge Timeouts bekommt, weil es nicht in der Lage ist, die Sourcen-Jars aus dem Maven 1-Repository herunterzuladen. Deshalb habe ich ein kleines Jelly-Skript erstellt, mit dem es möglich ist, das maven 2 Repository zu durchsuchen und die Source Jars von dort zu holen. Hier ist das smelly Jelly, das das alles möglich gemacht hat:

   

Da das Maven 2 Repository eine andere Struktur hat, musste ich die komplette Url mit allen Abhängigkeitseigenschaften neu erstellen. Dieses Skript umfasst nur das Standard-Repository von Maven 2, aber mit einer kleinen Änderung (Schleifenbildung über alle URLs) kann es um weitere Repositories erweitert werden. Das Ziel add-sources versucht, das sources jar aus dem Maven 2 Repository abzurufen und es im lokalen Maven 1 Repository zu installieren. Wenn das sources jar nicht gefunden wird, fährt es einfach mit dem nächsten Ziel fort. Mit dem postGoal binden Sie das add-sources an das Eclipse-Plugin. Stellen Sie sicher, dass Sie maven.eclipse.src.download in Ihrer project.properties (oder build.properties) auf false setzen, da das Eclipse-Plugin sonst immer noch ewig braucht, um zu laufen, weil es die Sourcen-Jars aus dem maven 1 Repository nicht finden kann. Fügen Sie dies also einfach zu Ihrer maven.xml hinzu und die Sourcen-Jars werden wieder in Ihrem Eclipse verlinkt (vergessen Sie nicht zu aktualisieren ;-)).

Verfasst von

Lars Vonk

Contact

Let’s discuss how we can support your journey.