Platform & Maven2 David Šimonek
Certified Engineer Course Agenda What is Maven? Why Maven? NB IDE & Maven NB Platform & Maven
Certified Engineer Course What is Maven Project Management tool > From Apache as Ant > Ant is build tool Maven project > XML Project Object Model (pom.xml) > Build result = artifact > Coordinates = artifact id Repository > Artifact storage > Central repository
Certified Engineer Course What is Maven Philosophy > Convention over configuration > Java centric > Sources, resources on standard places POM > Declarative, defines dependencies, web page, mailing lists, versioning system, continual integration, bug system, plugin configurations, profiles > Packaging type (jar, war...)
Certified Engineer Course What is Maven Maven plugins > doing work, goals bound to phases > Life cycle define phases > Packaging type defines life cycle Command line tool
Certified Engineer Course Why Maven Easy to start Dependency resolution > All downloaded on mvn install Easier to join a project > Follows principles > Less effort to jump into developer's cycle Place for project artefacts > Central repo, company-wide repos Widely used
Certified Engineer Course NB IDE x Maven Good support in 6.7 > Nearly on par with Ant > Native open of Maven projects > POM code completion > EE support out of the box, archetypes > Library artifact search > Dependency graphs
Certified Engineer Course NB Platform x Maven NB API modules “mavenized” > Netbeans repository > Currently 6.5 artifacts Archetype for NB module Archetype for NB Platform App
Certified Engineer Course Maven NB Module Create Maven NB Module Wizards like in Ant Development life-cycle like in Ant Run in NB platform via Maven > Need to specify Platform location
Certified Engineer Course Maven Support Advantages Attaching library javadoc easy Viewing library source easy Built-in graph of dependencies Joining foreign project easy
Certified Engineer Course Resources book/reference/public-book.html
Certified Engineer Course Maven Support Advantages Attaching library javadoc easy Viewing library source easy Built-in graph of dependencies Joining foreign project easy