`

Maven 入门

阅读更多
Maven 入门
-----------------

1.
官网
http://maven.apache.org/

包依赖声明搜索
http://mvnrepository.com/

2.
介绍

项目构建工具,继承自ANT.Maven的工作主要依赖插件来完成,它只是一个插件执行的框架.
Maven是一个Java 工具.

Maven配置级别:
项目级 - 项目级别pom.xml
安装级 - 一次性的Maven 安装配置
用户级 - 用户级别的配置

3.
仓库
http://repo1.maven.org/maven2/
http://repository.codehaus.org/
...

4.
插件

插件列表
http://maven.apache.org/plugins/index.html
插件配置指导
http://maven.apache.org/guides/mini/guide-configuring-plugins.html
插件兼容矩阵
https://cwiki.apache.org/MAVEN/maven-3x-plugin-compatibility-matrix.html

构建插件
报表插件


5.
安装Maven3
5.1  下载
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.3-bin.zip

5.2 配置环境变量
M2_HOME = E:\bisoft\apache-maven-3.0.2
PATH += %M2_HOME%\bin
MAVEN_OPTS = -Xms128m -Xmx 512m

5.3 验证安装
D:\>mvn -v
Apache Maven 3.0.2 (r1056850; 2011-01-09 08:58:10+0800)
Java version: 1.5.0_07, vendor: Sun Microsystems Inc.
Java home: E:\java\jdk1.5.0_07\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"


5.4 集成eclipse
5.4.1 eclipse下安装m2eclipse
http://m2eclipse.sonatype.org/sites/m2e
http://m2eclipse.sonatype.org/sites/m2e-extras

5.4.2 配置eclipse
eclipse.ini 添加JDK
-vm
E:\java\jdk1.5.0_07\bin\javaw.exe

不使用eclipse嵌入的MAVEN,添加外部MAVEN
Windows|Perferences|Installation|Embedded Maven|Add...|M2_HOME|打勾|应用|确定

6.
settings.xml

6.1 XSD
http://maven.apache.org/xsd/settings-1.0.0.xsd

6.2 配置说明
http://maven.apache.org/ref/3.0.3/maven-settings/settings.html

6.3 配置仓库
6.3.1 用户级别:settings.xml对当前用户有效
${user.home}/.m2/settings.xml

6.3.2 全局级别:settings.xml对全部用户有效
${M2_HOME}/conf/settings.xml

<settings>
  ...
  <localRepository>E:/bisoft/apache-maven-3.0.2/repo</localRepository>
  ...
</settings>

6.4 配置仓库镜像
<settings>
  ...
  <mirrors>
    <mirror>
      <id>repo1</id>
      <mirrorOf>maven2</mirrorOf>
      <name>maven2</name>
      <url>http://repo1.maven.org/maven2/</url>
    </mirror>
    <mirror>
      <id>repo2</id>
      <mirrorOf>codehaus</mirrorOf>
      <name>codehaus</name>
      <url>http://repository.codehaus.org/</url>
    </mirror>
  </mirrors>
  ...
</settings>

6.5
version : 版本
groupId : 惟一的组织标识,一般是域名
artifactId :惟一的组织内包标识,一般是JAR包名
name : 项目名称
url : 包站点


7.
官方文档
http://maven.apache.org/ref/3.0.3/

8.
创建项目
mvn archetype:generate -DgroupId=cn.bisoft.java.app -DartifactId=s2si -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=true

cd s2si

s2si
|-- pom.xml // 文档对象模型 Maven项目级配置文件
`-- src
    |-- main
    |   `-- java
    |       `-- cn
    |           `-- bisoft
    |               `-- java
    |                   `-- app // 源代码目录
    `-- test
        `-- java
            `-- cn
                `-- bisoft
                    `-- java
                        `-- app // 单元测试代码目录


Archetypes 工程类型:
maven-archetype-archetype 示例
maven-archetype-j2ee-simple J2EE简单示例
maven-archetype-portlet Portlet
maven-archetype-webapp Web应用

9.
打包工程
mvn package

打包生命周期:

1.validate 验证
2.generate-sources 生成源代码
3.process-sources 处理源代码,如过滤
4.generate-resources 生成资源文件
5.process-resources 处理资源文件,如过滤
6.compile 编译

运行测试代码:
java -cp target/s2si-1.0-SNAPSHOT.jar cn.bisoft.java.app.Sis2Test


运行生命周期:

validate: 验证
compile: 编译
test: 单元测试
package: 打包
integration-test: 集成测试
verify: 确认
install: 安装,安装JAR到本地仓库
deploy: 部署

另外:
clean: 清理
site: 生成站点

重新打包:
mvn clean dependency:copy-dependencies package


生成站点:
mvn site


只编译不运行:
mvn test-compile


10.
支持JDK1.5源代码
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.0.2</version>
      <configuration>
        <source>1.5</source>
        <target>1.5</target>
      </configuration>
    </plugin>
  </plugins>
</build>

11.
增加依赖:

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
</dependencies>

scope
test: 测试时有效
compile: 编译时有效


12.
部署配置
<distributionManagement>
    <repository>
      <id>bisoft-repository</id>
      <name>MyCompany Repository</name>
      <url>scp://repository.mycompany.com/repository/maven2</url>
    </repository>
</distributionManagement>

<servers>
    <server>
      <id>repository</id>
      <username>bisoft</username>
      <privateKey>/path/to/identity</privateKey>
      <passphrase>my_key_passphrase</passphrase>
    </server>
  </servers>





13.
安装第三方包到本地仓库
mvn install:install-file -Dfile=<path-to-file> 
-DgroupId=<group-id> \
-DartifactId=<artifact-id> 
-Dversion=<version> 
-Dpackaging=<packaging>


14.
依赖解析
原则一:
最短依赖路径
同一路径取最先声明

查看依赖树:
mvn dependency:tree


15.
查看OS变量
mvn help:system









1
0
分享到:
评论

相关推荐

    maven入门到精通

    maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...

    Maven入门到精通

    **Maven入门到精通** Maven,一个强大的Java项目管理工具,由Apache软件基金会开发,旨在简化构建过程,提供统一的构建系统,并通过依赖管理和项目信息管理,帮助开发者更高效地构建、测试和部署Java应用。它通过...

    Apache Maven入门篇(上)

    在“Apache Maven入门篇(上)”中,我们将探讨Maven的基本概念、安装步骤以及如何创建和管理一个简单的Java项目。 1. Maven的核心概念: - **POM(Project Object Model)**:POM是Maven项目的核心,是一个XML文件...

    maven入门.docx

    ### Maven 入门详解 #### 一、Maven 概述与重要性 Maven 是一个流行的项目管理和整合工具,广泛应用于 Java 开发领域。它为开发者提供了完整的构建生命周期框架,帮助开发者简化项目的构建过程,使得项目的管理和...

    HIbernate+Maven入门demo

    **Hibernate+Maven入门demo详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。Maven则是一个项目管理工具,它管理...

    Maven入门指南.docx

    【Maven入门指南】 Maven是一个广泛应用于Java项目的强大构建工具,它自动化处理软件构建的多个环节,包括源码编译、文档生成、JAR包创建、依赖管理和部署。Maven的核心理念是通过项目对象模型(Project Object ...

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.13 Maven入门--概念与实例 1.14 Subversion 1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 JBoss 5.0 安装与配置详解 1.18 JBOSS安装配置 1.19 Oracle,MySql,SQL server分页 1.20 Jboss...

    Maven入门--较复杂的实例

    【标题】"Maven入门--较复杂的实例"指的是在IT领域中学习并实践Apache Maven的基础知识,特别是通过一个相对复杂的项目来理解其工作原理和应用。Maven是一个强大的项目管理和综合工具,它可以帮助Java开发者自动化...

    Maven入门案例

    本篇文章将深入探讨Maven的入门知识,包括Maven的安装、配置、基本命令以及通过案例来理解Maven的工作原理。 首先,让我们从**Maven的安装**开始。在Windows系统中,你可以访问Maven官方网站下载最新版本的Maven,...

    maven入门整合SpringMVC登录+调用天气接口实例

    **maven入门** Maven是Java开发中的一个项目管理和构建工具,它简化了构建过程,通过定义项目的构建配置,管理依赖关系,自动化构建任务。在本项目中,Maven被用来整合SpringMVC和实现接口调用。Maven的POM...

    Maven 入门指南.docx

    ### Maven 入门指南知识点详解 #### 一、Maven 的基本概念 Maven 是一款强大的项目管理和构建工具,它的核心理念是通过标准化项目构建流程,实现自动化构建和依赖管理,进而提高软件项目的可维护性和生产力。Maven...

    HAP框架-Maven入门手册.zip

    结合提供的资源“HAP框架-Maven入门手册.zip”,我们可以深入探讨Maven与HAP框架的基本概念、使用方法以及它们在实际开发中的应用。 1. Maven简介: Maven是由Apache软件基金会开发的项目管理工具,它以XML格式的...

    技术部Maven入门培训.rar

    ** Maven入门培训 ** Maven,作为Java项目管理和构建的工具,是开发人员不可或缺的利器。它通过统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务,极大地提高了开发效率。以下是对Maven的基本概念、...

    maven 入门笔记配套示例代码

    本压缩包包含了"Maven入门笔记"的配套示例代码,主要帮助初学者理解Maven的基本用法和概念。 在"Maven入门笔记"中,你可能会学到以下关键知识点: 1. **Maven架构**:Maven基于项目对象模型(Project Object Model...

    maven 入门demo

    ** Maven 入门指南 ** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过标准化项目构建过程,使得开发人员可以更轻松地管理依赖、构建、测试和部署项目。本教程将引导初学者了解 Maven 的...

    maven入门,java项目管理,值得珍藏

    ### Maven入门教程:Java项目管理的关键工具 #### 一、Maven简介与重要性 Maven 是一个跨平台的项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。它通过提供一种清晰的项目对象模型(POM),...

Global site tag (gtag.js) - Google Analytics