`

maven study notes

阅读更多

Part I: Introductory Material

Part II : Maven by Example

Part III : Maven Reference


Chapter1. Introducing Apache Maven

1.    serve as both an authoritative reference and an introduction.

1.1.Maven...Whatisit?

Build and deploy

Project Mgmt tool(Report , generate web site , teamwork)

A set of standards ,

a project lifecycle

A dependency mgmt tool.

Project Object Model.

1.2.ConventionOver Configuration

1.    classpath is src/main/java|resource src/test/java|resource

2.    process jar file in target/classes

3.    byte code location target/classes

4.    Conversions for compiling source code , packaging , testing …

 

5.    can custom these conventions

 

 

1.3.A Common Interface

1.    Before Maven provided a common interface, each project has a custom build system , and developers had to take time to learn the system.

2.    When new testing framework or new source analysis tools are developed, you have to change the build file.

3.    Move to a common view of project builds.

4.    Problems

a)      What dependency project?

b)      What library

c)      Where I put the library

d)      What goal can I execute in the build

5.    Key to Success

a)      Common interface

b)      Dependency management

c)      Reuse of build logic through plugins

6.    Most Importance command

a)    Mvn install

 

1.4       Universal Reuse through Maven Plugins

1.    Core of Maven

a)      How to parsing xml documents

b)      Keeping track of a lifecycle and a few plug-ins.

c)      Delegated most responsibility to plug-ins. The plug-ins affect maven’s lifecycle and offer access to goals.

d)      The first time run mvn install will try to get the latest version of plugins.

2.     

a)      Reuse build logic is achived by retrieves both dependencies and plugins from remote repository.

3.    Maven Surefire plugin is responsible for running unit tests.

a)      When updated the plugin to support testNG or Junit 4.4 , you only need to change a version number in pom.

4.    Jar plugins

5.    JRuby and Groovy plugins

6.    Publish plugins

7.    Maven has abstracted common build tasks into plugins which are maintained centrally and shared universally.

1.5.Conceptual Model of a "Project"

1.    Attribute of a project

a)      License of the project

b)      Who develops and who attributes

c)      The depdending projects

2.    Feature

a)      Dependency Management

                    i.              Group

                ii.              Artifact

            iii.              Version

b)      Remote Repositories

c)      Universal Reuse of Build logic

                    i.              Plugins are coded to work with POM

                ii.              Everything is in the model, plugin configuration and customization happens in the model.

d)      Tool portability / Integration

                    i.              Support IDEs for custom POM infos.

e)      Easy seaching and Filtering of Project Artifacts

                    i.              Nexus

 

1.6. Is Maven an alternative to XYZ?

1.    Convert ant build script to maven build script.

2.    Maven is more like a platform than a build tools.

 

1.7.Comparing Maven with Ant

1.    POM examples

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>my-project</artifactId>
<version>1.0</version>
</project>

2.    DEMO

a)      Mvn install

b)      Mvn site

c)      Run mvn test

                    i.              Write under src/test/java

                ii.              Add dependency in test scope.

            iii.              Mvn test

d)      Deploy a war

                    i.              Change type to war

                ii.              Put docroot to src/main/webapp

3.    Benefits

a)      Your can get new function of build logic when change the version number.

4.    maven project can run ant scripts


Chapter2.Installing and Running Maven

2.1.Verify your Java Installation

    Java –version

2.2.Downloading Maven

http://maven.apache.org/download.html.[ 2.0.9]

2.3.Installing Maven

2.3.2.Installing Maven on Microsoft Windows

3.    Set envirement:

a)      M2_HOME

b)      PATH

2.4.Testing a Maven Installation

4.    mvn –v

2.5.Maven Installation Details

5.    Files and Directorys

a)      LICENSE.txt

b)      NOTICE.txt

c)      README.txt

d)      bin/

                    i.              mvn

e)      boot/

                    i.              classwords-1.1.jar

f)      conf/

                    i.              Settings.xml (global settings)

                ii.              Override in ~/.m2

g)      lib/

                    i.              maven-core-2.0.9-uber.jar (The core of jar)

2.5.1.User-specificConfiguration and Repository

6.    ~/.m2/settings.xml

a)      User specific config

                    i.              Authentication

                ii.              Repositories

            iii.              Custom Information

7.    ~/.m2/repository/

a)      Local repositories

2.5.2.Upgrading a Maven Installation

    Just change the M2_HOME

 

2.6.Getting Help with Maven

Plugins:

l        http://maven.apache.org

l        MavenUserMailingList

n        http://www.nabble.com/Maven---Users-f178.html

n        http://maven.apache.org/mail-lists.html

n        http://www.sonatype.com

2.7.Using the Maven Help Plugin

l        plugins

l        profile

l        setting file

l        POM files

When:

l        The plugins maven is using

l        List active maven profiles

n        Mvn help:Active-profiles

l        Display an effective POM

n        Mvn help:Effective-pom

l        Print the effective settings

n        Mvn help:Effective-settings

l        List the attribute of a Maven plugin

l        The goal of a particular maven plugin

n        Mvn help:describe –Dplugin=surefire –Dfull

n        mvnhelp:describe -Dplugin=compiler -Dmojo=compile -Dfull

l        In Maven, a Plugin goal is known as a"Mojo".


Part I. Maven by Example

l        Maven: A Developer’s Notebook

Chapter 3. A Simple Maven Project

l        Dd

n        Build lifecycle

分享到:
评论

相关推荐

    Maven Study

    Maven Study 完整的Maven学习资料!

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    ** Maven 概述** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过使用一个统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务。Maven 3.5.2是Maven的一个稳定版本,包含了众多...

    maven安装maven安装maven安装maven安装maven安装

    maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...

    开源工具Maven3.9.4版本压缩包

    Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...

    使用Maven导入Maven工程的视频教程

    使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...

    apache-maven-3.6.0_apache-maven-3.6.0_maven压缩包_maven3.6.0下载_

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和文档。Maven 3.6.0是该工具的一个稳定版本,提供了许多改进...

    Windoiws的maven3.8.8

    **Windows环境下Maven 3.8.8的安装与配置** Maven是Apache软件基金会开发的一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和文档生成。Maven 3.8.8是Maven的一个版本,它包含了对之前版本的一些改进和...

    Maven全版本资源,Maven 3.0.5-3.8.5,每个版本包含4个文件,Maven3全资源打包下载,Maven全集

    apache-maven-3.0.5 apache-maven-3.1.1 apache-maven-3.2.5 apache-maven-3.3.9 apache-maven-3.5.4 apache-maven-3.6.3 apache-maven-3.8.5 每个版本包含4个文件: apache-maven-3.8.5-bin.tar.gz apache-maven-...

    maven之开源中国Maven库

    【标题】"maven之开源中国Maven库" 指的是使用 Maven,一个流行的Java项目管理和集成工具,与开源中国的Maven仓库进行交互。开源中国Maven库是中国的一个开源软件资源平台,提供了大量的开源Java库,使得开发者可以...

    apache-maven-3.6.2_maven_

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和依赖关系。Maven 的核心理念是通过标准化的构建生命周期和...

    Mac的maven安装包apache-maven-3.6.3.zip

    在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是项目管理和构建的首选。本篇将详细讲解如何在Mac系统上,特别是配备M1芯片的MacBook上安装Apache Maven 3.6.3。 Apache Maven是一个基于项目...

    maven.rar apache-maven-3.5.4

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM),能够管理项目的构建、报告和文档,通过一套统一的构建生命周期和插件系统,极大地简化了软件...

    maven教程-maven教程-maven教程

    Maven是Java领域广泛使用的项目管理工具,它能够帮助开发者完成项目的构建、文档生成、报告、依赖管理和软件生命周期管理等工作。通过本文的介绍,我们可以了解到Maven的基本概念、安装配置、基本使用和深入应用详解...

    maven学校配置maven配置maven配置

    maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置...

    maven 3.8.8 解压安装版

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...

    maven3.2.5安装包下载

    Maven最新版是款项目管理和构建自动化工具。Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)。 安装...

    maven3.6的安装包

    ** Maven 3.6 安装与配置指南 ** Maven 是一个强大的项目管理工具,主要应用于Java开发领域。它简化了构建、依赖管理和项目生命周期的管理,通过使用一种标准化的项目对象模型(Project Object Model,POM)来描述...

    Maven3.5.4本地安装包

    开发者可以使用插件扩展Maven的功能,例如,`maven-jar-plugin`用于打包JAR文件,`maven-war-plugin`用于打包WAR文件,`maven-compiler-plugin`负责编译源代码。 - **聚合与继承**:Maven支持项目聚合和继承,通过`...

    maven3.1、maven3.2安装包、源码及eclipse整合插件

    Maven是Java开发中的一款强大的构建工具,它管理项目依赖、构建生命周期和工件发布。这里我们关注的是Maven 3.1和3.2版本的安装包和源码,以及如何将Maven与Eclipse集成的插件。下面将详细介绍这些内容。 1. Maven ...

    apache-maven-3.8.6.zip

    apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...

Global site tag (gtag.js) - Google Analytics