Minulý týden jsem na serveru DevX.com v podstatě náhodou narazil na tutoriál týkající se Mavenu. Do té doby jsem si myslel že Maven je nechutně složitý a komplikovaný moloch, který určitě nepotřebuju. A není to pravda…
Dojem o složitosti Mavenu jsem asi získal přímo na domovské stránce projektu Maven a byl určitě chybný. Maven, nejen že není složitější na Ant, on je dokonce daleko jednodušší. Má jen jinou filosofii postavenou na sadě pluginů a repository artefaktů.
Logika je následující: u projektu jen vyplníte project descriptor, do kterého jenom uvedete takové věci, jako kde se nacházejí zdrojáky, kde unit testy, jaké používáte knihovny třetích stran atd.
<?xml version="1.0"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://maven.apache.org/xsd/maven-project-3.0.0.xsd" > <id>MavenTest</id> <currentVersion>1.0</currentVersion> <build> <sourceDirectory>${basedir}/src</sourceDirectory> </build> </project>
Pro začátek rozhodně nevyplňujete nic o tom, že se má spusti nějaký javac, jak se má vygenerovat javadoc atd., protože o to se postarají maven pluginy. S jedním project.xml souborem pak “zcela zadarmo” získáte kompilaci, generovaní javadoc, clean, balení do jaru, ale taky třeba code beutyfiing s Jalopy, nebo třeba audit kódu PMD nebo FindBugs.
Sami nemusíte stáhnout a instalovat jediný jar, nemusíte připsat jedinou řádku do buildovacího scriptu. Veškerá funkcionalita je už naprogramována v Maven Pluginech.
V některém z dalších spotů se podíváme na ukázkový project.xml a to, jak se s Mavenem pracuje…
To vypadá hodně zajímavě. Měl jsem přesně stejný názor na Maven jako autor.
Moc se těším na ukázku projektu. Díky za prozření!
No, to je hezké. Nedávno jsem se byl nucen naučit Ant kvůli jednomu projektu, kde ho je nutné implementovat a dost mi přirostl k srdci. Když si teď představím, že je něco mnohem jednoduššího … no, určitě si Maven přidám do seznamu věcí k naučení.
[2] Maven je mnohem, mnohem jednodussi, coz neznamena ze je mene mocny. Ba prave naopak.
Ackoliv na nej zatim nejsem expert, uz jsem na nej prevedl tri projekty a brzy to udelam s dalsimi.
Antovsky script uz asi nikdy nenapisu 😉