`
ttitfly
  • 浏览: 623857 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

maven2介绍

阅读更多
Maven2主要配置文件:pom.xml和settings.xml。
POM是Maven的核心对象模型,对于项目,一般只需要pom.xml就行了。
settings.xml配置在Maven2中存在两种级别:

用户级,针对操作系统登录用户而言。一般在$home/.m2/,对于windows用户,就是目录:C:\Documents and Settings\用户名\.m2\settings.xml。
全局级:一般在%M2_HOME%/conf/settings.xml,M2_HOME是Maven2的根目录环境变量名。


Maven2提供预定义的目录模板
如图:



具体应用如下:
1.下载maven2
http://maven.apache.org/download.html

2.设置二环境变量:解压,如解压在D:\mvntest,然后设置系统环境变量M2_HOME=D:\apache-maven-2.0.8 ,path变量里添加D:\apache-maven-2.0.8\bin,方便Maven在任何目录下运行。

3.mvn -h可以查看帮助
如执行mvn --version可以查看版本信息
mvn --version

可以显示类似这样的信息:
Maven version: 2.0.8
Java version: 1.6.0
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"


4.创建一个新项目:
Maven2的运行命令是mvn,常用命令为:

创建Maven项目:mvn archetype:create 
编译源代码:mvn compile 
编译测试代码:mvn test-compile 
运行测试:mvn test 
产生site:mvn site 
打包:mvn package 
在本地Repository中安装jar:mvn install 
清除产生的项目:mvn clean 

如:创建一个新项目:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

说明:artifactId是项目名称,groupId则是项目的包结构。
如果是第一次运行,则需要花费一段时间,这是因为maven会下载最新的plugin jars和一些其它所需要的文件到你本地的repository.
当完成以后,
cd my-app

可以看到标准的maven结构:
my-app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

src/main/java 目录包含项目的code资源,  src/test/java 目录包含测试code, pom.xml 是项目的 Project Object Model( POM )

Maven2还会创建缺省的pom.xml。在Maven2里,pom.xml文件是一个项目的核心配置.


该项目生成的默认的pom.xml文件内容为:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>


如果想把整个项目打包,则只需要执行命令:

mvn package


打包的jar文件的名称是根据pom.xml里<artifactId>的值和 <version>的值连接起来组成的。中间用-连接,如本项目的jar包及位置为D:\mvntest\my-app\target\my-app-1.0-SNAPSHOT.jar

也可以测试一下该jar包,执行命令:
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

如果输出:
Hello World!

则表示正确。

Maven2也考虑到:不同类型的项目需要拥有不同的目录结构。如创建web项目,可以使用命令:

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp


在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。主要的生命周期阶段:

validate,验证工程是否正确,所有需要的资源是否可用。
compile,编译项目的源代码。
test-compile,编译项目测试代码。
test,使用已编译的测试代码,测试已编译的源代码。
package,已发布的格式,如jar,将已编译的源代码打包。
integration-test,在集成测试可以运行的环境中处理和发布包。
verify,运行任何检查,验证包是否有效且达到质量标准。
install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
如果要执行项目编译,那么直接输入:mvn compile即可,对于其他的阶段可以类推。阶段之间是存在依赖关系(dependency)的,如test依赖test-compile。在执行mvn test时,会先运行mvn test-compile,然后才是mvn test

因为maven2 是有生命周期这一概念的,所以如果你执行package,相应的以前步骤,如compile,test等都会自动执行。
刚开始执行会比较慢,需要从maven2远程库中下载所有的文件到本地。如果你的本地没有相应的依赖包,则每次maven都会去远程下载,所以配置一个镜像库就比较重要了。


分享到:
评论

相关推荐

    maven2详细教程

    【Maven 2 详细教程】是一份专为开发者准备的指南,旨在详细介绍Apache Maven 2的使用方法和核心概念。Maven 2是一个强大的构建工具,尤其在处理大型、多模块的Java项目时,能够简化构建过程和依赖管理。在现代软件...

    Apache Maven 2 Effective Implementation

    - **最佳实践**: 介绍如何在实际项目中运用 Maven,包括如何优化构建过程、管理依赖关系等。 - **集成工具**: 讲解如何将 Maven 与其他开发工具(如构建服务器、源代码控制系统等)集成,以提高工作效率。 - **案例...

    maven2使用指南非常有用

    - 这一部分主要介绍了如何使用 Maven 2 来构建一个完整的办公自动化 (OA) 系统,涉及到了多个模块的集成、部署等方面的内容。 6. **入门总结** - 在这一节里,作者总结了学习 Maven 2 的要点,强调了 Maven 2 ...

    Maven2 5分钟学习教程(中文)----maven2 官方文档翻译

    通过以上介绍,我们可以看到Maven 2作为一款强大的项目管理工具,极大地提高了开发效率,减少了项目的维护成本。这篇5分钟学习教程提供了快速入门的基础,深入理解Maven还需要实践和不断探索其丰富的功能和配置选项...

    Maven 中文介绍

    ### Maven 中文介绍 #### Maven 是什么? Maven 是 Apache Maven 项目的一部分,它是一种用于 Java 项目的构建和管理工具。Maven 不仅仅是一个构建工具,更确切地说,它是一套项目管理和理解工具。Maven 提供了一...

    Maven2 配置指南(java 项目管理之路)

    ### Maven2配置指南知识点概述 #### 一、Maven简介 1. **Maven是什么?** - **定义**:Maven是Apache软件基金会支持的一个开源项目构建管理系统。 - **核心价值**:通过约定优于配置的原则简化了项目的构建过程...

    Maven的基本原理和Maven2的新特性

    通过以上介绍,我们可以看到Maven2在项目管理和构建方面提供了很多便利,极大地提升了开发效率。理解并掌握Maven的基本原理和新特性,对于Java开发者来说至关重要,它可以帮助我们更好地组织项目,简化依赖管理,...

    maven3.0 maven3.0

    通过以上介绍,我们可以看到Maven 3.0在项目管理和构建过程中扮演着重要角色,其改进和特性极大地简化了Java开发者的日常工作。通过熟练掌握Maven,开发者可以高效地构建、测试和部署项目,提高开发效率。

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

    Eclipse作为一款流行的Java IDE,提供了与Maven集成的插件,名为M2E (Maven Integration for Eclipse)。该插件使得开发者在Eclipse中可以直接管理Maven项目,包括构建、编译、测试、打包等。安装M2E插件后,Eclipse...

    maven之开源中国Maven库

    【描述】虽然描述信息为"NULL",但我们可以推断,这篇博文可能详细介绍了如何配置Maven来使用开源中国(Maven仓库)作为镜像,以便在开发过程中更快地获取依赖。通常,这涉及到修改Maven的全局`settings.xml`文件,...

    sonar+maven2+myeclipse代码质量监控

    ### 代码质量监控:sonar+maven2+myeclipse #### 一、Sonar环境搭建 为了确保软件项目的质量,SonarQube提供了一种全面的解决方案来管理代码的质量和复杂度。以下步骤详细介绍了如何搭建Sonar环境: 1. **安装JDK...

    maven2搭建hibernate+spring+struts2项目

    本文主要介绍如何使用Maven2搭建一个基于SSH的Web项目。 首先,我们需要理解Maven2的核心功能——项目管理和依赖管理。Maven通过使用一个POM(Project Object Model)文件来定义项目的构建过程和依赖关系,从而简化...

    maven3.6的安装包

    在本文中,我们将详细介绍如何安装和配置 Maven 3.6.3,以及如何使用它来管理你的Java项目。 **一、下载Maven** Maven 的最新稳定版本是 3.6.3,你可以从Apache官方网站下载:...

    maven安装包和maven安装步骤

    - 在`Global Repositories`部分,确认默认的中央仓库地址`http://repo1.maven.org/maven2/`已存在。 4. **创建Maven项目**:在Eclipse的`File` -&gt; `New` -&gt; `Other` -&gt; `Maven Project`中,按照向导创建新的Maven...

    maven2相关资料

    1. **Maven2构建.doc** - 这份文档可能详细介绍了如何使用Maven2来构建Java项目。构建过程通常包括编译源代码、运行测试、打包应用、生成文档等步骤。Maven通过一个名为pom.xml的项目对象模型(Project Object Model...

    maven eclipse 培训教程

    Maven2+Eclipse开发J2EE.pdf Maven2_基础教程.pdf maven2之m2eclipse使用手册.doc Maven2使用.ppt maven2完全使用手册.docx Maven_介绍培训.pptx Maven学习指南.pdf Maven实战.doc Maven实战.pdf Maven构建并管理...

    超全面搭建Maven仓库

    本文将详细介绍如何搭建Maven环境、配置Maven仓库以及在Eclipse中集成Maven。 #### 一、下载安装Maven及Maven资源库 1. **下载Maven** - 访问Maven官方网站: [http://maven.apache.org/download.cgi]...

Global site tag (gtag.js) - Google Analytics