• Save
Maven Nexus
Upcoming SlideShare
Loading in...5
×
 

Maven Nexus

on

  • 2,316 views

 

Statistics

Views

Total Views
2,316
Views on SlideShare
2,223
Embed Views
93

Actions

Likes
1
Downloads
0
Comments
0

2 Embeds 93

http://www.continuousintegration.me 89
http://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Maven Nexus Maven Nexus Presentation Transcript

  • Sonatype Nexus and Maven Basics
    February 9, 2010
  • 2
    Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
    What is Maven
  • 3
    Problems Addressed and Uses for Maven
    • Large software projects usually contain tens or even hundreds of projects/modules
    • Will become messy and incomprehensible if the projects don’t adhere to some common principles
    • Will be time-consuming to build all projects manually
    Use a project management tool (like Maven)
    Maven helps you with various aspects:
    Build process
    Project structure
    Dependency management
    Access to information and documentation
  • 4
    Build process
    The Project Object Model (POM) – an XML file – is the heart of a Maven 2 project
    • Contains project information and configuration details used to build the project
    • Project dependencies
    • Commands (goals) that can be executed
    • Plugins
    • Metadata
    • The POM extends the Super POM
  • 5
    POM - Simple example
  • 6
    POM – Project inheritance
  • 7
    POM – Project aggregation
  • 8
    The build lifecycle is the process of building and distributing an artifact
    A phase is a step in the build lifecycle
    Most important default phases:
    Validate
    Compile
    Test
    Package
    Install
    Deploy
    Some common phases not default:
    Clean
    Site
    For each step, all previous steps are executed
    Build Lifecycle and Phases
  • 9
    Advantages:
    A developer familar with Maven will quickly get familiar with a new project
    No time wasted on re-inventing directory structures and conventions
    src/main/java Javasource files goes here
    src/main/resources Other resources your application needs
    src/main/filters Resource filters (properties files)
    src/main/config Configuration files
    src/main/webapp Web application directory for a WAR project
    src/test/java Test sources like unit tests (not deployed)
    src/test/resources Test resources (not deployed)
    src/test/filters Test resource filter files (not deployed)
    src/site Files used to generate the Maven project website
    Standard directory layout
  • 10
    Dependency: a third-party or project-local software library (JAR or WAR file)
    Dependency management is a challenge in multi-module projects
    Dependency management
  • 11
    Dependency management
  • 12
    Dependency management
  • 13
    Repositories
  • 14
    Repositories
  • 15
    Most projects use open source software as building blocks in application development. These building blocks, referred to as Artifacts, are best obtained from Maven repositories, because these repositories store binary artifacts together with meta data to describe dependencies, licensing and locations of source code. To control what artifacts are acquired, to manage local repositories and to support their software development work-flows and policies, companies use an Artifact Repository Manager such as Nexus Open Source or Nexus Professional.
    Sonatype Nexus - Artifact Repository Managers
  • 16
    Proxy Repository: A proxy repository is a proxy of a remote repository.
    Hosted Repository: A hosted repository is a repository which is hosted by Nexus.
    Virtual Repository: This serves as an adapter to and from different types of repositories. Currently Nexus supports conversion to and from Maven 1 repositories and Maven 2 repositories.
    Sonatype Nexus - Artifact Repository Managers
  • 17
    See Nexus Demo
  • 18
    References
    http://www.uio.no/studier/emner/matnat/ifi/INF5750/h07/undervisningsmateriale/software_project_management_and_maven.pdf
    http://maven.apache.org/guides/index.html
    http://nexus.sonatype.org
    http://www.sonatype.com/
    http://www.sonatype.com/documentation/books (Free Online)
    The “Maven Definitive Guide” is now Two Books
    Maven by Example
    Maven: The Complete Reference
    Repository Management with Nexus
    Developing with Eclipse and Maven
    The Maven Handbook