Zum Inhalt springen
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Z Antu na Maven — pribeh migrace build systemu

22. 02. 2011 2 Min. Lesezeit CORE SYSTEMSdevelopment
Z Antu na Maven — pribeh migrace build systemu

Apache Ant nam slouzil od zacatku firmy. Kazdy projekt mel svuj build.xml, peclive rucne udrzovany, s desitkami targetu. S patnacti aktivnimi projekty a sesti vyvojari se to stalo neudrzitelnym. Novy clovek stravil prvni den jen pochopenim build procesu.

Proc Maven a ne Gradle?

Gradle v roce 2011 existuje, ale je relativne mlady a v enterprise Java svete ho skoro nikdo nepouziva. Maven 3 je stabilni, ma obrovsy ekosystem pluginu a vetsina IDE ho podporuje out of the box. Convention over configuration je presne to, co potrebujeme. Standardni adresarova struktura (src/main/java, src/test/java) znamena, ze kazdy vyvojar okamzite vi, kde co hledat.

Strategie migrace

Migrovat vsech patnact projektu najednou by bylo silenstvi. Rozhodli jsme se pro postupny pristup: nejdriv firemni Nexus repository, pak sdilene knihovny, mensi projekty a nakonec velke multi-module projekty. Cela migrace trvala tri mesice.

Nexus jako firemni repository

Nexus OSS je zaklad celeho ekosystemu. Funguje jako proxy pro Maven Central, hostuje nase interni artefakty a umoznuje staging pro release proces. Konfigurace proxuje Maven Central, JBoss repository a Oracle Maven repository pro JDBC drivery.

Nejvetsi problemy

Transitivni zavislosti. Kdyz pridate jednu zavislost, Maven automaticky stahne vsechny jeji zavislosti. Vysledek? WAR soubor s 200 JAR soubory, z nichz nektere jsou v konfliktu. Reseni: mvn dependency:tree a liberalni pouziti exclusions. Vytvorili jsme firemni parent POM s dependencyManagement sekci.

Oracle JDBC driver. ojdbc6.jar neni v Maven Central kvuli licencnim omezenim. Museli jsme ho rucne nahrat do Nexusu.

Multi-module projekty

Nase nejvetsi aplikace mela v Antu jeden obrovsy build.xml s 2000 radky. V Mavenu jsme ji rozlozili na moduly: core, persistence, service, web, ear. Build celeho projektu: mvn clean package. Sedm minut vcetne testu. S Antem to bylo patnact minut.

Zaverem

Migrace z Antu na Maven je investice, ktera se vrati behem mesicu. Standardni build proces, automaticke dependency management a integrace s CI serverem dramaticky zrychlily nas development cyklus.

mavenantbuildjava
Teilen:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns