Warum ist die Java-Toolchain eigentlich so haushoch überlegen?



  • hürsch schrieb:

    Maven lädt aber nicht nur die eine Lib runter und verdrahtet sie korrekt im Classpath, sondern kümmert sich auch um alle Abhängigkeiten dieser Lib. Ich kenne eine Vielzahl Frameworks, die wiederum von einer Vielzahl Libs abhängig sind, die wiederum von Libs abhängig sind usw. Das alles per Hand aufzulösen, ist äusserst ecklig, vor allem wenn man dann noch etwaige Versionskonflikte dazukommen. Da nimmt einem Maven schon ne Menge ab.

    Irgendwie macht mir das mehr Angst, als das ich mich über solche Tools freuen würde. Wenn es so viele Abhängigkeiten gibt, dass man schon ein Tool braucht, um von allem die richtige Version zu bekommen, läuft irgendwo was schief. :xmas2:

    Sowas ist Alltag in geeignet großen Projekten. Dependancy Management ist längst nicht mehr trivial. Es lässt sich auch schwer vermeiden, wenn die Anwendung nur geeignet groß ist. Ein Projekt mit 5.000+ Klassen musst Du unweigerlich irgendwie in Module gliedern. Und wenn diese Anwendung dann produktiv eingesetzt wird, Du aber trotzdem die Software noch weiter entwickelst, wirst Du auch unweigerlich die Module versionierern wollen. Vielleicht arbeitest Du dann noch in einer größeren Firma, wo manche Module projektübergreifend eingesetzt werden. Auch dann kommst Du um die Versionierung der Module nicht drum herum.

    Entsprechend schwierig gestalten sich dann auch die Builds einer solchen Multi-Modul Anwendung. Du musst zyklische Abhängigkeiten beachten bzw. vermeiden. Du musst gucken, dass Du die Module in der richtigen Reihenfolge kompilierst usw.

    Maven ist da ein echt gutes Tool. Aber wer Spaß dran hat, kanns natürlich auch mit Ant und Co. per Hand machen.


Anmelden zum Antworten