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

Maven Nexus

on

  • 2,290 views

 

Statistics

Views

Total Views
2,290
Views on SlideShare
2,197
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