jsug - maven by michael greifeneder

38
Building Software Small Artifacts – Big Projects Michael Greifeneder

Upload: christoph-pickl

Post on 05-Dec-2014

1.348 views

Category:

Technology


0 download

DESCRIPTION

visit http://jsug.fsinf.at

TRANSCRIPT

Page 1: JSUG - Maven by Michael Greifeneder

Building Software

Small Artifacts – Big Projects

Michael Greifeneder

Page 2: JSUG - Maven by Michael Greifeneder

Batch files

Page 3: JSUG - Maven by Michael Greifeneder

Shellscripts

Page 4: JSUG - Maven by Michael Greifeneder

Make

Page 5: JSUG - Maven by Michael Greifeneder

Ant

Page 6: JSUG - Maven by Michael Greifeneder

20

Page 7: JSUG - Maven by Michael Greifeneder

http://legendarytimes.com/images/news/pcfuture.jpg

Page 8: JSUG - Maven by Michael Greifeneder

Inhalt

● Schnelle Wiederholung● Features● Plugins● Report● Zusammenfassung

Page 9: JSUG - Maven by Michael Greifeneder

Quick Review

A build tool!

A documentation tool!A dependency management tool!

http://codehaus.org/~vmassol/blog/javapolis2005-Maven%202.0-massol.ppt

Page 10: JSUG - Maven by Michael Greifeneder

100000

Page 11: JSUG - Maven by Michael Greifeneder

Klassen

Page 12: JSUG - Maven by Michael Greifeneder

100 -1000

Page 13: JSUG - Maven by Michael Greifeneder

Packages

Page 14: JSUG - Maven by Michael Greifeneder

1

Page 15: JSUG - Maven by Michael Greifeneder

Projekt

Page 16: JSUG - Maven by Michael Greifeneder
Page 17: JSUG - Maven by Michael Greifeneder

http://www.maastrek-werbeartikel.de/img/artikel/big/MA800203.jpg

Page 18: JSUG - Maven by Michael Greifeneder

http://www.thecoolestgifts.com/wp-content/naughty-knot.jpg

Page 19: JSUG - Maven by Michael Greifeneder

Quick Review

● Projekt Management Tool– Jedes Projekt erzeugt EIN “Artifakt”

– Dependencies

– Multi-Module Build

● Project Object Model – pom.xml– Deklarativ

– Convention over Configruation

Page 20: JSUG - Maven by Michael Greifeneder

http://kill.devc.at/system/files/dyi-standards.jpg

Page 21: JSUG - Maven by Michael Greifeneder

http://blogs.exist.com/oching/2008/07/04/maven-the-poss/

Page 22: JSUG - Maven by Michael Greifeneder

Archetypen

mvn archetype:create ...

My Artifact|-- pom.xml`-- src |-- main | |-- java | `-- resources |-- test | |-- java | `-- resources `-- site

Archetype

Page 23: JSUG - Maven by Michael Greifeneder

Resultat

• src/– main/

• java/• resources/• webapp/• application/• groovy/

– test/• java/• resources/• cactus/

– site/

4 nestedprojects

Other projects

Page 24: JSUG - Maven by Michael Greifeneder

Build Lifecycle Phases

http://www.manuelrecena.com/docs/maven_061106.pdf

Page 25: JSUG - Maven by Michael Greifeneder

Die Wichtigsten

http://dcabasson.developpez.com/articles/java/maven/introduction-maven2/

Page 26: JSUG - Maven by Michael Greifeneder

Sonstige

● mvn eclipse:eclipse● mvn idea:idea● Mvn jetty:run

– mvn org.mortbay.jetty:maven-jetty-plugin:run

● mvn site

Page 27: JSUG - Maven by Michael Greifeneder

Site

Page 28: JSUG - Maven by Michael Greifeneder

Reports

Page 29: JSUG - Maven by Michael Greifeneder

PMD

Page 30: JSUG - Maven by Michael Greifeneder

Source Xref

Page 31: JSUG - Maven by Michael Greifeneder

Clover

http://www.agile-swiss.org/wiki/index.php/Au_pays_des_mille_et_un_rapports_Maven

Page 32: JSUG - Maven by Michael Greifeneder

Clover Integration

https://svn.apache.org/repos/asf/maven/plugins/tags/maven-clover-plugin-2.2/src/site/resources/images/

Page 33: JSUG - Maven by Michael Greifeneder

Versionierung

● X...Major● Y...Minor● Z...Revision-BuildNumber

http://www.manuelrecena.com/docs/maven_061106.pdf

Page 34: JSUG - Maven by Michael Greifeneder

Plugins

http://www.manuelrecena.com/docs/maven_061106.pdf

Page 35: JSUG - Maven by Michael Greifeneder

Dependency Analyzer

http://wiki.jfrog.org/confluence/display/DA/Home

Page 36: JSUG - Maven by Michael Greifeneder

Zusammenfassung

● Vieles gibt es “Out Of The Box”● Flexibel durch Plugins● Komplizierter als Ant● Zwingt zum Arbeiten in “Maven Way”

Page 37: JSUG - Maven by Michael Greifeneder

ENDE

Danke für die Aufmerksamkeit!

??? Fragen ???

Diskussion

Page 38: JSUG - Maven by Michael Greifeneder

Links● http://maven.apache.org/

● https://www6.software.ibm.com/developerworks/education/j-mavenv2

● http://www.mergere.com/better-build-maven

● http://www.sonatype.com/community/definitive_guide.html

● http://www.manuelrecena.com/docs/maven_061106.pdf

● http://www.jfrog.org/sites/dep-analyzer/latest/