POM is a project’s identity. It mentions the project structure. It will be defined in pom.xml.
Content of pom.xml can be divided into the following sections:
Project Information project name, web URL, etc
Build Settings plugins, build path
Build Environment Profile details to build in a different environment
POM relationships Inter-dependencies of pom, group id, artifact id, version, dependencies
Set Up Maven in windows:
1. Download maven https://maven.apache.org/download.cgi
2. Add $path\apache-maven-3.3.9\bin in system variable.
Central Maven Repository: Every pom extends a Super POM located in ${maven.home}/lib/maven-model-builder-3.3.9.jar,defining the central maven repository.
1. Download maven https://maven.apache.org/download.cgi
2. Add $path\apache-maven-3.3.9\bin in system variable.
Central Maven Repository: Every pom extends a Super POM located in ${maven.home}/lib/maven-model-builder-3.3.9.jar,defining the central maven repository.
Maven Settings(settings.xml)
It defines the location of a local maven repository with other maven settings.
Two locations where a settings.xml file can exist:
It defines the location of a local maven repository with other maven settings.
Two locations where a settings.xml file can exist:
- The Maven install: ${maven.home}/conf/settings.xml
- A user’s install: ${user.home}/.m2/settings.xml
Snapshot Versions
Maven versions with “-SNAPSHOT”: Project is still in development, it shows that a project is released at a specific time. Snapshot versions are for development only.
Maven versions with “-SNAPSHOT”: Project is still in development, it shows that a project is released at a specific time. Snapshot versions are for development only.
If the project’s version is 1.0-SNAPSHOT and deployed at 9:04AM; September 18,2016 UTC then version would look as 1.0-20160918-0904-1. If one project is dependent on another project release, then the version can be configured(using a repository or plugin repository in POM ) to update only when dependent project releases.
Maven Plugins important for AEM
- maven bundle plugin – used to build OSGi bundles instead of plain jars (bundles have an enhanced manifest, declaring package exports & imports)
- maven scr plugin scr java annotations– used to handle OSGi SCR (service component runtime) annotations in Java files at build time
- maven content-package plugin – allows creating CQ content packages via maven (previously called maven vault plugin)
No comments:
Post a Comment
If you have any doubts or questions, please let us know.