SlideShare ist ein Scribd-Unternehmen logo
1 von 138
Maven 3.0
What’s new in
by Matthew McCullough, Ambient Ideas, LLC
In the beginner’s mind
there are
many possibilities.
In the expert’s mind
there are few.
In the beginner’s mind
there are
many possibilities.
In the expert’s mind
there are few.
This Talk
Maven and You
❖Who will enjoy this talk?
❖Current Maven user
❖Familiar with POM syntax
❖Interested in preparing for Maven 3.0
❖Comfortable with betas
Maven and Me
❖ Tenure
❖ Using it for 8 years since 0.7
❖ Contributing to the codebase via patches
❖ Authoring archetypes
❖ 30 open source how-to projects
Maven and Me
❖ Tenure
❖ Using it for 8 years since 0.7
❖ Contributing to the codebase via patches
❖ Authoring archetypes
❖ 30 open source how-to projects
❖ Mentoring
❖ 3 virtual Sonatype classes a month
❖ Several on-site classes around the globe per year
❖ 30+ global conference and user group talks to date
❖ 50+ enterprise Maven-consulting clients
Maven and Me
❖ Tenure
❖ Using it for 8 years since 0.7
❖ Contributing to the codebase via patches
❖ Authoring archetypes
❖ 30 open source how-to projects
❖ Mentoring
❖ 3 virtual Sonatype classes a month
❖ Several on-site classes around the globe per year
❖ 30+ global conference and user group talks to date
❖ 50+ enterprise Maven-consulting clients
❖ Writing
❖ O’Reilly: Maven The Definitive Guide by Tim O’Brien
❖ Promotional materials, testimonial on the back cover
❖ DZone Maven RefCard
❖ 8th most-downloaded card of all time
The
Roadmap
3.0
Compatibility
❖Tested against 100s of Maven 2 projects
❖Legacy simulation layers
❖Using for 6 months almost exclusively
❖450+ integration tests
603!
Speed
❖Performance tuned
❖Benchmarks
❖ Disk I/O
❖ Network I/O
❖ CPU
❖ Memory
Maven Speed Test
Quick
❖ Faster execution
❖ 10% faster in the demo
❖ Multi-threaded downloads
❖ Parallel plugin execution
❖ Java 5 optimized builds
Efficient
❖ Memory conservative
❖ 73% less in the demo
❖ Tuned data structures
❖Largely re-written for quality, flexibility
❖30% smaller code base
❖Continuous integration running test suite
Code
Extensibility
❖Layers of abstraction
❖Plugin classloader partitioning
❖Plexus to Guice IOC rewrite
❖Fully embeddable
❖Basis for derived tools
How can you keep up with Maven 3?
http://maven.apache.org/docs/3.0/release-notes.html
http://delicious.com/matthew.mccullough/maven
POMs &
Maven 3.0
POM XML Syntax
❖ No POM syntax changes for Maven 3.0
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.ambientideas</groupId>
<artifactId>sample-barestbones</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
POM XML Validations
❖ Heavily validated against common mistakes
❖ Forward-test with Maven 3.0
❖Switch back to 2.x for production
❖ 3.0 POMs run better on 2.x
POM XML Validations
❖Warns when plugin versions are
not specified
“Plugin version omitted” warning
POM XML Validations
❖ Blocks duplicate dependencies
❖Examined in same POM only
❖Conflict resolution used otherwise
<dependency>
<artifactId>junit</modelVersion>
<groupId>junit</groupId>
<version>3.8.1</version>
</dependency>
...
<dependency>
<artifactId>junit</modelVersion>
<groupId>junit</groupId>
<version>3.8.2</version>
</dependency>
“Duplicate dependency” error
Help URLs
❖ Wiki page URLs now shown for all error
messages
Help URLs
❖ Wiki page URLs now shown for all error
messages
Parent POM References
❖ Parent POMs now prefer to resolve from
repositories
❖Better consistency on multi-module builds
❖ Version-less parent references may be
allowed (not ready yet)
❖Will require <relativePath> tag
❖MNG-624
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ambientideas</groupId>
<artifactId>sample-multimodulejava-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
</project>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ambientideas</groupId>
<artifactId>sample-multimodulejava-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
</project>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ambientideas</groupId>
<artifactId>sample-multimodulejava-parent</artifactId>
<relativePath>../</relativePath>
</parent>
</project>
Profiles Consolidated
•Profiles.xml external file support removed
•Folded into pom.xml
•Already a best-practice
•Necessary for Polyglot Maven
Parallel Builds
Parallel Build Approach
•Examines reactor build plan
•Threads up to what’s possible
•Governed by your provided limits
https://cwiki.apache.org/MAVEN/parallel-builds-in-maven-3.html
Parallel Build Syntax
•Four threads
mvn -T 4 install
Parallel Build Syntax
•Two threads per core
mvn -T 2C install
Serial Building
Parallel Building
Artifact Behavior
Changes
Maven 1.0 Deprecated
• Maven 1.0 repository support removed
<layout>legacy</layout>
SNAPSHOT Datestamps
•Deprecated
<uniqueVersion>
false
</uniqueVersion>
•SNAPSHOTs now always deployed
with date-stamps
Artifact Resolution Caching
•Caches lookups whether found or missing
•Stored in:
~/.m2/repo/.../<artifact>.lastUpdated
•Sample contents:
#Last modified on: Thu Dec 31 10:42:13 MST 2009
#Thu Dec 31 10:42:13 MST 2009
http://localhost:8081/nexus/content/groups/public=12333938
•Overridden by:
mvn <phase> -U
Plugin Behavior
Changes
Core Changes: Plugins
❖Plugin version auto-selection favors
RELEASEs over SNAPSHOTs
❖Affects command-line invocation of plugins
#Maven 2.x
#Will run the newest SNAPSHOT, if one is cached locally
mvn archetype:generate
#...actually running
mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-SNAPSHOT:generate
#Maven 3.x
#Will always run the newest RELEASE in Maven 3.x
mvn archetype:generate
#...actually running
mvn org.apache.maven.plugins:maven-archetype-plugin:2.0:generate
Command Line
Core Changes: Plugins
❖Plugins versions cannot be specified as
RELEASE or LATEST
❖Affects pom.xml configuration and command
line fully-qualified invocation
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>LATEST</version>
</plugin>
...
pom.xml
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>LATEST</version>
</plugin>
...
pom.xml
Core Changes: Plugins
❖Plugins only resolved from
<pluginRepository> locations
http://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html
Site Plugin
❖Near-complete rewrite
❖Separation of <reporting> from core Maven
codebase
❖Preparation for Maven 3.1 pom.xml syntax
changes
Not a technical rant on Maven vs. Ant
mvnshell
http://shell.sonatype.org/
http://shell.sonatype.org/
What is mvnshell?
❖High performance console
❖Maven 3.x add-on
The shell and its commands
Color highlighting
Speed of Builds
Performance of Shell
❖220% faster in the demo
❖No JVM warm-up time
❖Strategies for caching
Subcommands, archetypes
polyglot
http://polyglot.sonatype.org/
http://polyglot.sonatype.org/
What is polyglot Maven?
❖Maven 3 superset
❖A full distribution of Maven
❖Enabled by Maven 3 embedding
❖Multi-language mvn command
What is polyglot Maven?
❖POM file converter
❖translate tool
❖Any-to-Any language translation
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://
maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ambientideas</groupId>
<artifactId>sample-dependency</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Sample Project - One Dependency</name>
<url>http://github.com/matthewmccullough/maven-training/</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
pom.xml
Translating a POM from XML toYAML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://
maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ambientideas</groupId>
<artifactId>sample-dependency</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Sample Project - One Dependency</name>
<url>http://github.com/matthewmccullough/maven-training/</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
pom.xml
modelVersion: 4.0.0
artifactId: sample-dependency
groupId: com.ambientideas
name: Sample Project - One Dependency
packaging: jar
url: http://github.com/matthewmccullough/maven-training/
version: 1.0-SNAPSHOT
dependencies:
- {artifactId: junit, groupId: junit, optional: false, scope: test,
type: jar, version: 3.8.1}
pom.yaml
(defproject main "com.ambientideas:sample-dependency:1.0-SNAPSHOT"
:model-version "4.0.0"
:add-default-plugins false
:name "Sample Project - One Dependency"
:packaging "jar"
:url "http://github.com/matthewmccullough/maven-training/"
:test-dependencies [["junit:junit:3.8.1"]])
pom.clj
project { m =>
m.artifactId = "sample-dependency"
m.dependency { d =>
d.artifactId = "junit"
d.groupId = "junit"
d.optional = false
d.scope = "test"
d._type = "jar"
d.version = "3.8.1"
}
m.groupId = "com.ambientideas"
m.modelVersion = "4.0.0"
m.name = "Sample Project - One Dependency"
m.packaging = "jar"
m.url = "http://github.com/matthewmccullough/maven-training/"
m.version = "1.0-SNAPSHOT"
}
pom.scala
project {
modelVersion '4.0.0'
groupId 'com.ambientideas'
artifactId 'sample-dependency'
version '1.0-SNAPSHOT'
name 'Sample Project - One Dependency'
url 'http://github.com/matthewmccullough/maven-training/'
dependencies {
dependency {
groupId 'junit'
artifactId 'junit'
version '3.8.1'
scope 'test'
}
}
}
pom.groovy
Translating a POM and building from it
Polyglot DSLs
❖A true DSL framework
❖Maven lifecycle hooks
❖Can modify execution plan
❖Supplement the lifecycle
Polyglot Macros
❖Maven-specific macros
❖Allows for more concise POMs
❖Groovy polyglot showcasing this
❖Freeform scripting in Groovy
project {
modelVersion '4.0.0'
$artifact('com.ambientideas', 'sample-dependency’, '1.0-SNAPSHOT')
name 'Sample Project - One Dependency'
url 'http://github.com/matthewmccullough/maven-training/'
dependencies {
dependency('junit', 'junit’, '3.8.1', ‘test')
}
}
pom.groovy with macros
Where did we start from again?
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://
maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ambientideas</groupId>
<artifactId>sample-dependency</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Sample Project - One Dependency</name>
<url>http://github.com/matthewmccullough/maven-training/</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
pom.xml
M2Eclipse
Upgrading M2Eclipse
❖Latest version, 0.10
❖Code quality improvements
❖Performance increases
❖Packaging changes
❖Two distinct update sites
❖ Core:	 	 	 http://m2eclipse.sonatype.org/sites/m2e
❖ Extensions:	 http://m2eclipse.sonatype.org/sites/m2e-extras
Eclipse Versions Supported
❖3.4
❖3.5
❖3.6
Dependencies
❖ Visualizes conflicts
❖ Graph and text form
❖ Dependency resolution tree
❖ Answers “where is X being brought in from?”
Dependency conflicts
Dependencies
❖ Easy exclusions
❖ Uses Eclipse refactoring engine
Exclusions
Class Search
❖ Search the entire central repository for
❖ Artifact
❖ Package
❖ Classname
❖ Lucene database
❖ Incremental updates
Class Search
Resources
Free Books
http://books.sonatype.com
Examples
❖Ambient sample projects
❖http://github.com/matthewmccullough/maven-training
❖Sonatype sample projects
❖http://www.sonatype.com/products/maven/
documentation/book-defguide
Maven 3.1
Maven 3.1
Maven 3.1 POM Changes
❖ Backwards compatibility by modelVersion
❖ Final identifier TBD for 3.1 POM syntax
❖ Allows 3.1 to read 3.0, 2.0 POMs
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.ambientideas</groupId>
<artifactId>sample-barestbones</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
Maven 3.1 POM Changes
❖pom.xml syntax changes
❖Site plugin takes over <reporting>
Maven 3.1 POM Changes
❖“Mixins” for direct dependencies
❖Sometimes desired over POM inheritance
Maven 3.1 POM Changes
❖Plugin security manager
❖settings.xml as default implementation
Summary
Summary
•Validations
•Performance
•Compatibility
•Toolchain
•Shell
•Polyglot
•M2Eclipse
Maven 3.0
What’s new in
Email
Twitter
Blog
Matthew McCullough
matthewm@ambientideas.com
@matthewmccull
http://ambientideas.com/blog
Maven 3.0
What’s new in
Email
Twitter
Blog
Matthew McCullough
matthewm@ambientideas.com
@matthewmccull
http://ambientideas.com/blog
References
❖Maven 3 Core
❖ Homepage
❖ http://maven.apache.org/
❖ Source Code
❖ http://svn.apache.org/viewvc/maven/maven-3/trunk
❖ Wiki
❖ http://cwiki.apache.org/MAVEN/maven-3x.html
❖ Bug Tracking
❖ http://jira.codehaus.org/browse/MNG
❖ Compatibility
❖ http://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html
❖ Blog Posts
❖ http://www.sonatype.com/people/2009/11/maven-3x-paving-the-desire-lines-
part-two/
❖ Bookmarks
❖ http://delicious.com/matthewmccullough/maven
❖Maven 3 Site Plugin
❖ Source Code
❖ https://svn.apache.org/repos/asf/maven/plugins/branches/
maven-site-plugin-3.x/
❖ Wiki
❖ http://cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html
❖Maven Shell
❖ Source Code
❖ http://github.com/sonatype/mvnsh/
❖ Wiki
❖ https://docs.sonatype.org/display/MVNSH
❖ Homepage
❖ http://shell.sonatype.org/
❖Polyglot Maven
❖ Homepage
❖ http://polyglot.sonatype.org/
❖ Source Code
❖ http://github.com/sonatype/polyglot-maven
❖ Wiki
❖ https://docs.sonatype.org/display/PMAVEN/
❖ Groovy Macros
❖ https://docs.sonatype.org/display/PMAVEN/Groovy
❖M2Eclipse
❖ Homepage
❖ http://m2eclipse.sonatype.org/
❖ Update Sites
❖ http://m2eclipse.sonatype.org/sites/m2e
❖ http://m2eclipse.sonatype.org/sites/m2e-extras

Weitere ähnliche Inhalte

Was ist angesagt?

Ant - Another Neat Tool
Ant - Another Neat ToolAnt - Another Neat Tool
Ant - Another Neat ToolKanika2885
 
Apache ANT vs Apache Maven
Apache ANT vs Apache MavenApache ANT vs Apache Maven
Apache ANT vs Apache MavenMudit Gupta
 
The MetaCPAN VM for Dummies Part One (Installation)
The MetaCPAN VM for Dummies Part One (Installation)The MetaCPAN VM for Dummies Part One (Installation)
The MetaCPAN VM for Dummies Part One (Installation)Olaf Alders
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in DjangoKevin Harvey
 
Dependency management with Composer
Dependency management with ComposerDependency management with Composer
Dependency management with ComposerJason Grimes
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1Vishal Biyani
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugDavid Golden
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
Introduction To Ant1
Introduction To  Ant1Introduction To  Ant1
Introduction To Ant1Rajesh Kumar
 
DNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostDNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostChristoph Adler
 
Introduction to Apache Ant
Introduction to Apache AntIntroduction to Apache Ant
Introduction to Apache AntShih-Hsiang Lin
 
Apache Ant
Apache AntApache Ant
Apache AntAli Bahu
 
Puppet at Pinterest
Puppet at PinterestPuppet at Pinterest
Puppet at PinterestPuppet
 
Puppet at GitHub / ChatOps
Puppet at GitHub / ChatOpsPuppet at GitHub / ChatOps
Puppet at GitHub / ChatOpsPuppet
 
maven
mavenmaven
mavenakd11
 
Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...Agile Testing Alliance
 

Was ist angesagt? (20)

Ant - Another Neat Tool
Ant - Another Neat ToolAnt - Another Neat Tool
Ant - Another Neat Tool
 
Apache Ant
Apache AntApache Ant
Apache Ant
 
Apache ANT vs Apache Maven
Apache ANT vs Apache MavenApache ANT vs Apache Maven
Apache ANT vs Apache Maven
 
The MetaCPAN VM for Dummies Part One (Installation)
The MetaCPAN VM for Dummies Part One (Installation)The MetaCPAN VM for Dummies Part One (Installation)
The MetaCPAN VM for Dummies Part One (Installation)
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
 
Dependency management with Composer
Dependency management with ComposerDependency management with Composer
Dependency management with Composer
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with Jitterbug
 
Introduction to Apache Ant
Introduction to Apache AntIntroduction to Apache Ant
Introduction to Apache Ant
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Introduction To Ant1
Introduction To  Ant1Introduction To  Ant1
Introduction To Ant1
 
DNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostDNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance Boost
 
Introduction to Apache Ant
Introduction to Apache AntIntroduction to Apache Ant
Introduction to Apache Ant
 
Apache Ant
Apache AntApache Ant
Apache Ant
 
Puppet at Pinterest
Puppet at PinterestPuppet at Pinterest
Puppet at Pinterest
 
Puppet at GitHub / ChatOps
Puppet at GitHub / ChatOpsPuppet at GitHub / ChatOps
Puppet at GitHub / ChatOps
 
Ant User Guide
Ant User GuideAnt User Guide
Ant User Guide
 
maven
mavenmaven
maven
 
Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...
 

Andere mochten auch

Captain Agile and the Providers of Value
Captain Agile and the Providers of ValueCaptain Agile and the Providers of Value
Captain Agile and the Providers of ValueSchalk Cronjé
 
Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenArnaud Héritier
 
Building Android apps with Maven
Building Android apps with MavenBuilding Android apps with Maven
Building Android apps with MavenFabrizio Giudici
 
20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache MavenArnaud Héritier
 
Veni, Vide, Built: Android Gradle Plugin
Veni, Vide, Built: Android Gradle PluginVeni, Vide, Built: Android Gradle Plugin
Veni, Vide, Built: Android Gradle PluginLeonardo YongUk Kim
 
Gradle enabled android project
Gradle enabled android projectGradle enabled android project
Gradle enabled android projectShaka Huang
 
不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopcon不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopconsam chiu
 
Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenArnaud Héritier
 
Maven for Dummies
Maven for DummiesMaven for Dummies
Maven for DummiesTomer Gabel
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Carlos Sanchez
 
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Rajmahendra Hegde
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation ToolIzzet Mustafaiev
 
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Tomek Kaczanowski
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsJohn Smith
 
Maven Application Lifecycle Management for Alfresco
Maven Application Lifecycle Management for AlfrescoMaven Application Lifecycle Management for Alfresco
Maven Application Lifecycle Management for Alfrescoguest67a9ba
 

Andere mochten auch (20)

Maven overview
Maven overviewMaven overview
Maven overview
 
Captain Agile and the Providers of Value
Captain Agile and the Providers of ValueCaptain Agile and the Providers of Value
Captain Agile and the Providers of Value
 
Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache Maven
 
Building Android apps with Maven
Building Android apps with MavenBuilding Android apps with Maven
Building Android apps with Maven
 
20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven
 
Veni, Vide, Built: Android Gradle Plugin
Veni, Vide, Built: Android Gradle PluginVeni, Vide, Built: Android Gradle Plugin
Veni, Vide, Built: Android Gradle Plugin
 
Gradle enabled android project
Gradle enabled android projectGradle enabled android project
Gradle enabled android project
 
不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopcon不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopcon
 
Gradle in 45min
Gradle in 45minGradle in 45min
Gradle in 45min
 
Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - Maven
 
Gradle
GradleGradle
Gradle
 
Maven for Dummies
Maven for DummiesMaven for Dummies
Maven for Dummies
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
 
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
 
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The Basics
 
Gradle by Example
Gradle by ExampleGradle by Example
Gradle by Example
 
Maven Application Lifecycle Management for Alfresco
Maven Application Lifecycle Management for AlfrescoMaven Application Lifecycle Management for Alfresco
Maven Application Lifecycle Management for Alfresco
 
Gradle Introduction
Gradle IntroductionGradle Introduction
Gradle Introduction
 

Ähnlich wie Maven 3.0 at Øredev

Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 featuresAngel Ruiz
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven Ankit Gubrani
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld PresentationDan Hinojosa
 
CoC NA 2023 - Reproducible Builds for the JVM and beyond.pptx
CoC NA 2023 - Reproducible Builds for the JVM and beyond.pptxCoC NA 2023 - Reproducible Builds for the JVM and beyond.pptx
CoC NA 2023 - Reproducible Builds for the JVM and beyond.pptxHervé Boutemy
 
Intro To Version Control
Intro To Version ControlIntro To Version Control
Intro To Version Controlceardach
 
From Dev to DevOps - FOSDEM 2012
From Dev to DevOps - FOSDEM 2012From Dev to DevOps - FOSDEM 2012
From Dev to DevOps - FOSDEM 2012Carlos Sanchez
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to MavenVadym Lotar
 
Apache maven, a software project management tool
Apache maven, a software project management toolApache maven, a software project management tool
Apache maven, a software project management toolRenato Primavera
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoftvenkata20k
 
Learning Maven by Example
Learning Maven by ExampleLearning Maven by Example
Learning Maven by ExampleHsi-Kai Wang
 
Version Management in Maven
Version Management in MavenVersion Management in Maven
Version Management in MavenGeert Pante
 
Maven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolMaven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolelliando dias
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
 

Ähnlich wie Maven 3.0 at Øredev (20)

Maven 3 New Features
Maven 3 New FeaturesMaven 3 New Features
Maven 3 New Features
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
Maven
MavenMaven
Maven
 
CoC NA 2023 - Reproducible Builds for the JVM and beyond.pptx
CoC NA 2023 - Reproducible Builds for the JVM and beyond.pptxCoC NA 2023 - Reproducible Builds for the JVM and beyond.pptx
CoC NA 2023 - Reproducible Builds for the JVM and beyond.pptx
 
Svn tutorial
Svn tutorialSvn tutorial
Svn tutorial
 
Intro To Version Control
Intro To Version ControlIntro To Version Control
Intro To Version Control
 
Java User Group Cologne
Java User Group CologneJava User Group Cologne
Java User Group Cologne
 
From Dev to DevOps - FOSDEM 2012
From Dev to DevOps - FOSDEM 2012From Dev to DevOps - FOSDEM 2012
From Dev to DevOps - FOSDEM 2012
 
Maven
MavenMaven
Maven
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
 
Apache maven, a software project management tool
Apache maven, a software project management toolApache maven, a software project management tool
Apache maven, a software project management tool
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
 
Learning Maven by Example
Learning Maven by ExampleLearning Maven by Example
Learning Maven by Example
 
Manen Ant SVN
Manen Ant SVNManen Ant SVN
Manen Ant SVN
 
Version Management in Maven
Version Management in MavenVersion Management in Maven
Version Management in Maven
 
Maven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolMaven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension tool
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 

Mehr von Matthew McCullough

Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveMatthew McCullough
 
All About GitHub Pull Requests
All About GitHub Pull RequestsAll About GitHub Pull Requests
All About GitHub Pull RequestsMatthew McCullough
 
Git Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyGit Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyMatthew McCullough
 
Git and GitHub at the San Francisco JUG
 Git and GitHub at the San Francisco JUG Git and GitHub at the San Francisco JUG
Git and GitHub at the San Francisco JUGMatthew McCullough
 
Migrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMigrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMatthew McCullough
 
Build Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGBuild Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGMatthew McCullough
 
Git Going for the Transylvania JUG
Git Going for the Transylvania JUGGit Going for the Transylvania JUG
Git Going for the Transylvania JUGMatthew McCullough
 
Transylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsTransylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsMatthew McCullough
 
Game Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGGame Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGMatthew McCullough
 
Cascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGCascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGMatthew McCullough
 

Mehr von Matthew McCullough (20)

Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge Interactive
 
All About GitHub Pull Requests
All About GitHub Pull RequestsAll About GitHub Pull Requests
All About GitHub Pull Requests
 
Adam Smith Builds an App
Adam Smith Builds an AppAdam Smith Builds an App
Adam Smith Builds an App
 
Git's Filter Branch Command
Git's Filter Branch CommandGit's Filter Branch Command
Git's Filter Branch Command
 
Git Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyGit Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh My
 
Git and GitHub at the San Francisco JUG
 Git and GitHub at the San Francisco JUG Git and GitHub at the San Francisco JUG
Git and GitHub at the San Francisco JUG
 
Finding Things in Git
Finding Things in GitFinding Things in Git
Finding Things in Git
 
Git and GitHub for RallyOn
Git and GitHub for RallyOnGit and GitHub for RallyOn
Git and GitHub for RallyOn
 
Migrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMigrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHub
 
Git Notes and GitHub
Git Notes and GitHubGit Notes and GitHub
Git Notes and GitHub
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Build Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGBuild Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUG
 
Git Going for the Transylvania JUG
Git Going for the Transylvania JUGGit Going for the Transylvania JUG
Git Going for the Transylvania JUG
 
Transylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsTransylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting Announcements
 
Game Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGGame Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUG
 
Cascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGCascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUG
 
JQuery Mobile
JQuery MobileJQuery Mobile
JQuery Mobile
 
R Data Analysis Software
R Data Analysis SoftwareR Data Analysis Software
R Data Analysis Software
 
Please, Stop Using Git
Please, Stop Using GitPlease, Stop Using Git
Please, Stop Using Git
 
Dr. Strangedev
Dr. StrangedevDr. Strangedev
Dr. Strangedev
 

Kürzlich hochgeladen

CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxAnupam32727
 
CHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxCHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxAneriPatwari
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptxmary850239
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesVijayaLaxmi84
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 

Kürzlich hochgeladen (20)

CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
 
CHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxCHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptx
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their uses
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 

Maven 3.0 at Øredev