`
ywu
  • 浏览: 456867 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

第二章 maven简介

阅读更多

  maven是一个优秀的跨平台项目构建工具。项目构建上文也提到,包括项目的创建、编译、测试、打包、部署等。maven不仅仅是一个构建工具,它还是一个依赖管理工具和项目信息管理工具。依赖简单理解就是项目用到的第三方jar包。我们用到了什么jar包,就说对这个jar包有依赖。项目信息包括项目名称、描述、项目地址、开发人员信息、用到的scm信息、持续集成信息等。

  要使用maven,首先得安装。现在的IDE一般默认都内置maven的支持,比如eclipse。但是内置的maven一般比较新,可能不是太稳定,推荐使用自己安装的maven。

  安装步骤:

  1、安装jdk。maven运行需要用到jdk,因此首先需要安装jdk。

  2、下载。maven官方下载地址:http://maven.apache.org/download.cgi

   3、安装。下载完后是一个压缩包,解压缩即可。解压完后目录结构如下所示:

 其中bin目录包含maven的可执行命令,boot目录包含一个负责创建maven运行所需的类装载器的jar文件,conf目录包含maven的全局配置文件,lib目录包含maven运行时依赖的jar文件;

  4、配置环境变量。将maven的bin目录添加到PATH环境变量中,将maven的安装目录添加到M2_HOME环境变量中。

  

  安装完以后,就能在命令行中使用maven了。打开一个命令行终端,输入命令mvn


 看到如上输出结果,说明maven已经安装好了。

  接下来可以手动创建一个maven项目。在指定目录下新建一个目录,比如hello-world,即项目名,在hello-world下新建src目录,在src目录下新建main目录,在main目录下新建java目录,在java目录下可以新建包com\jiangnan\helloworld,按层次依次创建com、jiangnan、helloworld目录,在helloworld目录下新建一个类HelloWorld:

package com.jiangnan.helloworld;

public class HelloWorld {
	public String sayHello() {
		return "hello maven";
	}
	
	public static void main(String[] args) {
		System.out.println(new HelloWorld().sayHello());
	}
}

 在hello-world目录下新建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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.jiangnan</groupId>
  <artifactId>hello-world</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>hello-world</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.7</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

 命令行进入hello-world目录,输入mvn clean compile,可以看出命令行在不断输出,如果看到BUILD SUCCESS,就说明命令执行成功了,如果看到BUILD FAILURE,则要查看失败原因。这里仅仅是演示命令行中使用maven,我们平时开发一般会在IDE中集成maven。

 

IDE中集成maven:

这里以eclipse为例,打开eclipse,Window->Preference->Maven->Installations,可以看到默认勾选的是EMBEDDED,去掉这个勾,点击add,选中解压后的maven安装目录,勾上自定义安装的maven,点击Apply,这样maven就集成到eclipse中了。

默认情况下,maven的全局配置文件是在用户家目录下的.m2目录下的settings.xml文件,如果是Windows系统,一般是在c盘用户目录下。默认的本地仓库位于家目录下的repository目录下。Windows系统一般是在c盘,由于会占用c盘空间,而且重装系统的时候可能不注意会格式化,因此我喜欢使用自定义的全局配置文件。打开maven安装目录下conf目录下的settings.xml文件,将localRepository元素的值修改为自定义的路径,作为本地仓库路径,maven下载的构建会存放于此,关于仓库的概念,后续会介绍。


 在eclipse中,Maven->user settings,user settings选择刚才编辑的文件,会看到下面列出了我们刚才配置的本地仓库的路径,点击Apply,OK,这样maven就配置完了。


 

新建maven项目:

新建项目一般会选择maven的archetype来生成项目的骨架。项目的骨架就是指项目的基本结构,比如普通项目结构,会有一个项目名,根目录下有src目录,如果是web项目,还会有WEB-INF目录,lib目录,或者web.xml等,而maven的archetype就是用来帮我们生成这些目录和文件的,不同的archetype生成的目录结构也不一样。

在eclipse中新建maven项目,File->New->Other->Maven->Maven Project,Next,Next,接下来列出了maven默认提供的archetype



 对于普通项目,我们一般会选择maven-archetype-quickstart,对于web项目,选择maven-archetype-webapp;接下来填写groupId,artifactId,version,这三个是maven的坐标,将在下一章详细介绍



 点击finish,maven项目就建好了。项目结构大致如下所示:


convension over configuration(约定大于配置)

我们之前也说过,传统项目,项目结构比较混乱,配置文件、测试代码存放位置不统一,maven基于很多实践经验,对于项目做了一些基本的约定,我们只要遵守这些约定就可以了,比如:

1、项目的根目录下有一个pom.xml,用于配置maven的依赖、插件等信息,我们后面会详细阐述

2、根目录下有一个src目录,src目录下分main和test目录,main目录下放置主代码相关的东西,以后会发布到生产;test目录下放置测试相关东西,如单元测试、测试配置文件等,这些东西只在测试时使用,不会发布到生产环境;main、test目录下又分java和resources目录,这里将代码和配置文件分开了,java目录存放代码,而resources目录存放配置文件,这样的项目结构就清晰多了;

3、项目的编译输出默认在项目根目录下的target目录下。

除此以外,maven还有其他的约定,后面涉及的时候再介绍。

通过maven创建的项目,使用maven的约定,我们看到其他项目的时候,都是我们熟悉的结构,不在需要花时间去熟悉。当然,这是maven默认的行为,如果想改变这种行为,也是可以的,只不过不推荐,后面我们会讲述如何改变默认的行为。

 

接下来我们要阐述maven的几个核心概念,如坐标、依赖、仓库、插件等。

 

  • 大小: 16.9 KB
  • 大小: 74.2 KB
  • 大小: 14.8 KB
  • 大小: 52.4 KB
  • 大小: 50.7 KB
  • 大小: 34.8 KB
  • 大小: 30.7 KB
  • 大小: 89.3 KB
分享到:
评论

相关推荐

    读书笔记:SpringBoot实战第二章Maven Demo.zip

    读书笔记:SpringBoot实战第二章Maven Demo

    第二章 企业项目开发--maven父子模块1

    在实际操作中,我们还需要将上一章建立的项目ssmm放入ssmm0文件夹下,并修改pom.xml文件如下: ```xml &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=...

    maven+jenkins+sonar集成搭建

    ### 第二章:Maven 安装与配置 Maven是Java项目管理和构建工具,它管理项目的依赖关系,执行构建任务,并遵循约定的目录结构和生命周期。 1. **下载 Maven**:访问Apache Maven官方网站,选择适合你操作系统的...

    maven用户开发手册.doc

    **第二章 MAVEN的安装和使用** 1. **MAVEN的安装** Maven的安装通常包括下载最新版本的Maven,设置环境变量,以及配置Maven的本地仓库路径。 2. **MAVEN的基本使用** - **创建工程** Maven项目通常由`mvn ...

    J2EE应用实践教程 第二章代码

    在本章中,我们将深入探讨J2EE应用实践教程中的第二章代码,主要涉及Java Project、Struts2和Hibernate这三个核心技术。J2EE(Java 2 Platform, Enterprise Edition)是一个用于构建企业级应用程序的平台,它提供了...

    MAVEN基础篇-资料整理

    #### 第二章 Maven 的核心概念 ##### 2.1 约定的目录结构 Maven 强调约定优于配置的原则,这意味着它遵循一套标准的目录结构。例如: - **src/main/java**:存放主程序的源代码。 - **src/main/resources**:存放...

    Maven实战(中文简化快速入门版)

    - **第1章 Maven简介**:解释Maven的基本概念和优势。 - **第2章 Maven的安装和配置**:详细介绍Maven的安装过程和配置方法。 - **2.1 Windows环境下的安装** - **2.2 Unix/Linux环境下的安装** - **2.3 安装目录...

    Maven实战 pdf

    - **第1章:Maven简介** 介绍了Maven的概念及其出现的背景,解释了为什么需要Maven。通过具体的例子,让读者对Maven有一个宏观的认识。 - **第2~3章:Maven入门** 这两章为初学者提供了Maven的基础知识,包括...

    Maven repository.part1

    Maven repository.part1 for Java RESTful Web Service实战第二章需要的Mave库

    Maven repository.part2

    Maven repository.part1 for Java RESTful Web Service实战第二章需要的Mave库

    SpringBoot开发实战(理论基础)

    第二章 Maven基础 第三章 Spring MVC基础 第四章 Spring Boot入门 第五章 Spring Boot核心 第六章 Spring Boot数据访问 第七章 Spring Boot缓存管理 第八章 Spring Boot消息服务 第九章 Spring Boot部署 第十章 系统...

Global site tag (gtag.js) - Google Analytics