Um mal einige Vorteile zu nennen:
- Wenn du in einer Gruppe programmierst müssen sich die anderen nicht darum kümmern an die eingebundenen Libs zu kommen.
- Du musst dich nicht darum kümmern die Dependencies der eingebundenen Libs zu vervollständigen
- Du musst keine 3 Stunden lang das Internet nach .jar Dateien durchforsten, diese runterladen, in ein Ordner schieben und sie deinem Projekt hinzufügen
- Wenn es um Lizenzen geht kann dir eine Auflistung gegeben werden (der Punkt ist für einen einzelnen Hobby-Programmierer sicherlich eher uninteressant)
- ...
Prinzipiell muss jeder für sich selbst entscheiden, ob er die Gründe für Vorteile hält. Sicherlich kann man das alles auch per Hand machen aber wenn man sich einmal ein Gerüst zusammengebaut hat brauch man dieses nur noch in jedem Projekt übernehmen und der ganze Dependency-Quatsch läuft wie geschmiert.
nach einer Gewissen Größe an Beziehungen das Problem das die Programme wenn man sie in sie in seinen code mit einfügt einen Logische Fehler erzeugen.
Persönlich bin ich noch nicht an diese Grenzen gestoßen.