Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich stehe jetzt vor der Herausforderung, die Entwicklung für ein größeres Projekt zu organisieren (in der Vollausbaustufe ca. 40 verschiedene Anwendungen, die als Docker-Container in die Cloud deployed werden). Wir reden hier über Anwendungen die teilweise nahe an einem Monolithen sind, aber auch von Anwendungen die wirklich ein simpler Mikro-Service sind und die ganze Bandbreite dazwischen. Alles Spring Boot & Maven
Eine Sache, die ich dabei sicherstellen will, dass diese Anwendungen entkoppelt bleiben. Ich will vermeiden, dass Anwendung A eine Dependency auf einen Business-Teil von Anwendung B hat. Anwendungen dürfen nur das externe DTO-Modell der anderen Anwendungen referenzieren. Es hindert aber niemand einen Entwickler eine solche böse Dependency in die POM einzutragen, ich hab im Laufe der Zeit immer wieder erlebt, dass Dependency ergänzt wurden, die nicht hätten sein dürfen. In den meisten Fällen harmlos, aber hier kommen ein paar Aspekte dazu insbesondere auch die Projektlaufzeit (5 Jahre Entwicklung, 10+ Betrieb & Wartung). Daher will ich das automatisiert prüfen.
Archunit kann - soweit ich das sehe - nur auf Package Ebene checken. Das ist mir zu schwierig, auch wenn ich die Packages normalisieren will. Gibt es Möglichkeiten - ich denke da ein Jenkins Plugin - dem ich Richtlinien hinterlegen kann bzgl. verbotener Maven-Dependencys? So dass dann der Build failed?
Jepp, genau das. Jetzt wo ich lese, stelle ich fest, hab ich den Namen auch schon mal gehört. Aber find das mal mit Google wenn du was mit maven dependency check suchst
Es macht mit dem Handling von includes/excludes es auch genau so, wie ich es vermutlich danke. Komplette group-ids bannen und dann einzelne Artefact-IDs rausnehmen. Jetzt bleibt nur die spannende Frage, wie ich verhindere, dass ein Entwickler an der POM rumpfuscht aber an dem Teil wird man eher selten brangehen, während eine Dependency ja mal schnell ergänzt ist, ggf. macht das die IDE ja sogar fast unsichtbar im Hintergrund
Was kann das besser, dafür es gefühlt exponentiell komplexer aussieht? Ich finde da jetzt nicht, wie Maven Abhängigkeiten prüfen kann? Alleine transitive Dependencys sehe ich da nicht, dass ich mal eben prüfen kann.
Das sieht für mich auf den ersten Blick wie mit Kanonen auf Spatzen geschossen aus und führt zu einem weiteren Tool mit einer weiteren, nicht trivialen Syntax, wofür Wissen vorgehalten werden muss. Das Tool sieht nicht schlecht aus - aber für das was ich brauche ist es schlicht zu aufwendig und damit zu teuer nach meinem dafürhalten.