SlideShare a Scribd company logo
1 of 15
Download to read offline
Maven & AEM
Pom
Project Object Model
What’s in a project
● Source code lives in src/main/java
● Test code lives in src/test/java
● Compiled class files live in target
● pom.xml lives at the root of the
project
What’s in a pom?
● Usually have a groupId, artifactId and version
● Can specify aggregated projects via modules
● Can specify a parent to inherit from
● Can specify dependencies
● Goals, plugins, resources, properties, developers, etc...
● Can specify a packaging type for the artifact
Project Identification
<groupId>com.project</groupId>
<artifactId>mclovin</artifactId>
<version>1.0.0-SNAPSHOT</version>
Aggregate projects with Modules
<modules>
<module>content</module>
<module>bundle</module>
</modules>
Inherit from parent poms
A
<groupId>com.project</groupId>
<artifactId>a</artifactId>
<version>1.0.0-SNAPSHOT</version>
B
<parent>
<groupId>com.project</groupId>
<artifactId>a</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>b</artifactId>
<version>2.0.0-SNAPSHOT</version>
Effective B
<!-- groupId is inherited -->
<groupId>com.project</groupId>
<artifactId>b</artifactId>
<version>2.0.0-SNAPSHOT</version>
Dependencies
<dependencies>
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<scope>...</scope>
</dependency>
</dependencies>
Dependencies are exposed/included based on
the specified <scope>
provided
exposed at compile time, not included in
artifact
test
expose at test time, not included in artifact
compile
exposed at compile time, included in
artifact
Other properties
● Goals, plugins, resources, properties, developers, etc...
● Can specify a packaging type like pom, content-
package or bundle
What’s a bundle?
● A bundle is a special type of packaging for a project
using the maven-bundle-plugin
● Like a jar but with a manifest
● Manifest contains OSGi headers telling OSGi how to
use the bundle
How to use bundles?
● We use bundles for our Java logic
● They are separated based on function
Webdev
Design
Engineering
Team
Can we use other packing types?
content-package
uploading content with
embedded bundles
pom
Organizing the project and
setting up inheritance for
sub-poms
How does Java get to the Server
source code
OSGI bundle
Target
Content Package
.../install folder
Package Install
What’s OSGI?
● Defines how bundles run
● Hot swap bundles at run
time
● Web interface for service
configs and tools
(/system/console)
Operating System
Java Runtime Environment
OSGi
Services
Lifecycle
Bundles
Applications(AEM)
More Resources
● Intro to Poms
● Maven: The Complete Reference
● Maven and Vault (including embeddeds)

More Related Content

Viewers also liked

Anexos relatório pibid pedagogia cianorte 2014
Anexos relatório pibid pedagogia cianorte 2014Anexos relatório pibid pedagogia cianorte 2014
Anexos relatório pibid pedagogia cianorte 2014Keila Marcelo
 
UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945
UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945
UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945TheHistoryPrepa Dos
 
UNIDAD 8: GUERRA FRÍA (1945-1991)
UNIDAD 8: GUERRA FRÍA (1945-1991)UNIDAD 8: GUERRA FRÍA (1945-1991)
UNIDAD 8: GUERRA FRÍA (1945-1991)TheHistoryPrepa Dos
 
Anexos relatorio pibid cianorte 2013 (1)
Anexos relatorio pibid cianorte 2013 (1)Anexos relatorio pibid cianorte 2013 (1)
Anexos relatorio pibid cianorte 2013 (1)Keila Marcelo
 
Pibid apresentação 2015
Pibid apresentação 2015Pibid apresentação 2015
Pibid apresentação 2015Keila Marcelo
 
ES6 General Introduction
ES6 General IntroductionES6 General Introduction
ES6 General IntroductionThomas Johnston
 
Pibid apresentação 2015 (1)
Pibid apresentação 2015 (1)Pibid apresentação 2015 (1)
Pibid apresentação 2015 (1)Keila Marcelo
 
Curriculum Vitae 1-19-16
Curriculum Vitae 1-19-16Curriculum Vitae 1-19-16
Curriculum Vitae 1-19-16Samuel Hagopian
 

Viewers also liked (10)

Anexos relatório pibid pedagogia cianorte 2014
Anexos relatório pibid pedagogia cianorte 2014Anexos relatório pibid pedagogia cianorte 2014
Anexos relatório pibid pedagogia cianorte 2014
 
CV Updated
CV UpdatedCV Updated
CV Updated
 
UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945
UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945
UNIDAD 7: SEGUNDA GUERRA MUNDIAL 1939-1945
 
UNIDAD 8: GUERRA FRÍA (1945-1991)
UNIDAD 8: GUERRA FRÍA (1945-1991)UNIDAD 8: GUERRA FRÍA (1945-1991)
UNIDAD 8: GUERRA FRÍA (1945-1991)
 
Anexos relatorio pibid cianorte 2013 (1)
Anexos relatorio pibid cianorte 2013 (1)Anexos relatorio pibid cianorte 2013 (1)
Anexos relatorio pibid cianorte 2013 (1)
 
Pibid apresentação 2015
Pibid apresentação 2015Pibid apresentação 2015
Pibid apresentação 2015
 
Resume Barbara DAgostino 2015
Resume Barbara DAgostino 2015Resume Barbara DAgostino 2015
Resume Barbara DAgostino 2015
 
ES6 General Introduction
ES6 General IntroductionES6 General Introduction
ES6 General Introduction
 
Pibid apresentação 2015 (1)
Pibid apresentação 2015 (1)Pibid apresentação 2015 (1)
Pibid apresentação 2015 (1)
 
Curriculum Vitae 1-19-16
Curriculum Vitae 1-19-16Curriculum Vitae 1-19-16
Curriculum Vitae 1-19-16
 

Similar to Java

Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with MavenSid Anand
 
BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenMert Çalışkan
 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldDmitry Bakaleinik
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - ExplainedSmita Prasad
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeHolasz Kati
 
S/W Design and Modularity using Maven
S/W Design and Modularity using MavenS/W Design and Modularity using Maven
S/W Design and Modularity using MavenScheidt & Bachmann
 
CQCON CQ Maven Methods
CQCON CQ Maven MethodsCQCON CQ Maven Methods
CQCON CQ Maven MethodsAndrew Savory
 

Similar to Java (20)

Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
 
intellimeet
intellimeetintellimeet
intellimeet
 
Maven
MavenMaven
Maven
 
BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with Maven
 
Liferay maven sdk
Liferay maven sdkLiferay maven sdk
Liferay maven sdk
 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS world
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
Maven
MavenMaven
Maven
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - Explained
 
Maven basic concept
Maven basic conceptMaven basic concept
Maven basic concept
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
 
S/W Design and Modularity using Maven
S/W Design and Modularity using MavenS/W Design and Modularity using Maven
S/W Design and Modularity using Maven
 
CQ Maven Methods
CQ Maven MethodsCQ Maven Methods
CQ Maven Methods
 
CQCON CQ Maven Methods
CQCON CQ Maven MethodsCQCON CQ Maven Methods
CQCON CQ Maven Methods
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
tools cli java
tools cli javatools cli java
tools cli java
 
Maven in Mule
Maven in MuleMaven in Mule
Maven in Mule
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Mavenppt
MavenpptMavenppt
Mavenppt
 

Java