Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Apache MavenApache Maven
● What is Apache Maven
● Why to use Maven
● Maven in Tango
● Live demo
What is MavenWhat is Maven
● Dependency management
● Build automation
● Project management
● Project generator
Google: mav...
Why to use Maven?Why to use Maven?
● IDE integration
● Very well defined project lifecycle
● Plugins (!!!)
● Infrastructur...
Maven in TangoMaven in Tango
● Soleil uses maven
● HZG uses maven
● SKA (???)
V10 Tango goal:
● Mavenize every Java project
Dependency managementDependency management
Artifactory
(bintray.com)
<dependency>
<groupId>org.tango</groupId>
<artifactId...
Build automation&PluginsBuild automation&Plugins
Project lifecycle:
● Clean
● Compile
● Test
● Package
● Integration Test
...
Project managementProject management
Parent POM
projA projB
projA
projB
BOM POM
projA
Multi Module POM
BOM POM
projB
1
2
3
Project generationProject generation
(maven archetype)(maven archetype)
Project
Template
(archetype)
Project
Java Maven ar...
D E M OD E M O
X-EnvironmentX-Environment
Packaging&DeploymentPackaging&Deployment
* Every component is an independent single
Executable jar file!
* Dedicated profi...
D E M OD E M O
SummarySummary
● Understand dependency management
mechanism
● Learn project lifecycle
● Never invent a wheel
● Mavenize Ta...
Thank you!Thank you!
Introduction to Maven, Sep. 2016, ESRF
Upcoming SlideShare
Loading in …5
×

Introduction to Maven, Sep. 2016, ESRF

14 views

Published on

A quick introduction to Apache Maven

Published in: Software
  • Be the first to comment

  • Be the first to like this

Introduction to Maven, Sep. 2016, ESRF

  1. 1. Apache MavenApache Maven ● What is Apache Maven ● Why to use Maven ● Maven in Tango ● Live demo
  2. 2. What is MavenWhat is Maven ● Dependency management ● Build automation ● Project management ● Project generator Google: maven wiki
  3. 3. Why to use Maven?Why to use Maven? ● IDE integration ● Very well defined project lifecycle ● Plugins (!!!) ● Infrastructure (Maven Central, Bintray …) (!!!!) ● Already used almost everywhere (JavaWorld) ● Can handle almost any situation (c++)
  4. 4. Maven in TangoMaven in Tango ● Soleil uses maven ● HZG uses maven ● SKA (???) V10 Tango goal: ● Mavenize every Java project
  5. 5. Dependency managementDependency management Artifactory (bintray.com) <dependency> <groupId>org.tango</groupId> <artifactId>JTangoServer </artifactId> <version>9.2.2</version> </dependency> Java Maven artifact (jar, war, zip, tar.gz, etc) Maven artifact bundle: ● Compiled classes ● Source code ● Javadoc ● Pom.xml
  6. 6. Build automation&PluginsBuild automation&Plugins Project lifecycle: ● Clean ● Compile ● Test ● Package ● Integration Test ● Install ● Deploy Test Package Debian package Plugin
  7. 7. Project managementProject management Parent POM projA projB projA projB BOM POM projA Multi Module POM BOM POM projB 1 2 3
  8. 8. Project generationProject generation (maven archetype)(maven archetype) Project Template (archetype) Project Java Maven artifact (jar, war, zip, tar.gz, etc)
  9. 9. D E M OD E M O
  10. 10. X-EnvironmentX-Environment
  11. 11. Packaging&DeploymentPackaging&Deployment * Every component is an independent single Executable jar file! * Dedicated profile for each configuration.
  12. 12. D E M OD E M O
  13. 13. SummarySummary ● Understand dependency management mechanism ● Learn project lifecycle ● Never invent a wheel ● Mavenize Tango Java projects
  14. 14. Thank you!Thank you!

×