`
zcz123
  • 浏览: 157476 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类

Maven学习-入门

 
阅读更多

一、Maven的基本概念

  Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理

1.1、项目构建

  项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。

  

 

  理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。

1.2、依赖管理

  依赖指的是jar包之间的相互依赖,比如我们搭建一个Struts2的开发框架时,光光有struts2-core-2.3.16.3.jar这个jar包是不行的,struts2-core-2.3.16.3.jar还依赖其它的jar包,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。

1.3、使用Maven的好处

  Maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。

  Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

  只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情

  使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。

二、Maven下载

  下载地址:http://maven.apache.org/download.cgi

   

   下载完成后,得到一个压缩包,解压,可以看到maven的组成目录

  

  Maven目录分析

  • bin:含有mvn运行的脚本
  • boot:含有plexus-classworlds类加载器框架
  • conf:含有settings.xml配置文件
  • lib:含有Maven运行时所需要的java类库
  • LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

三、Maven安装

  1、首先要确保电脑上已经安装了JDK(要jdk 1.6+的版本),配置好JDK的环境变量,使用如下的两个命令检查检查JDK安装的情况。

1 Echo %JAVA_HOME%
2 Java -version

  

  2、对apache-maven-3.2.3-bin.zip进行解压缩

  对apache-maven-3.2.3-bin.zip进行解压缩,例如解压到如下目录(解压目录最好不要有中文)

  

  3、设置系统环境变量:MAVEN_HOME

  

  4、设置环境变量Path,将%MAVEN_HOME%\bin加入Path中,一定要注意要用分号;与其他值隔开,如下图所示:

  

  %MAVEN_HOME%\bin代表的就是"E:\apache-maven-3.2.3\bin"目录

  5、验证Maven安装是否成功

  打开cmd窗口

  

  输入"mvn –v"命令 查看Maven的相关信息,如下图所示:

  

  能够出现这样的信息就说明Maven的安装已经成功了。

  6、设置MAVEN_OPTS环境变量(可选配置)

  由于Maven命令实际上是执行了Java命令,所以可以通过JAVA命令参数的方式来设置MAVEN运行参数。MAVEN_OPTS环境变量正是用于此用途

  MAVEN_OPTS

  -Xms128m -Xmx512m,分别设置JVM的最小和最大内存,如下图所示:

  

四、Maven的简单使用

4.1、Maven项目的目录约定

MavenProjectRoot(项目根目录)
   |----src
   |     |----main
   |     |         |----java ——存放项目的.java文件
   |     |         |----resources ——存放项目资源文件,如spring, hibernate配置文件
   |     |----test
   |     |         |----java ——存放所有测试.java文件,如JUnit测试类
   |     |         |----resources ——存放项目资源文件,如spring, hibernate配置文件
   |----target ——项目输出位置
   |----pom.xml ----用于标识该项目是一个Maven项目

4.2、手动创建Maven项目,使用Maven编译

  1、创建项目根文件夹,例如Maven01

  

  2、在Maven01文件夹中创建“pom.xml”文件,如下图所示:

  

  pom.xml文件中的内容如下:

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 5 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 6     <!--所有的Maven项目都必须配置这四个配置项-->
 7     <modelVersion>4.0.0</modelVersion>
 8     <!--groupId指的是项目名的项目组,默认就是包名-->
 9     <groupId>cn.gacl.maven.hello</groupId>
10     <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
11     <artifactId>hello-first</artifactId>
12     <!--version指的是版本,这里使用的是Maven的快照版本-->
13     <version>SNAPSHOT-0.0.1</version>
14 </project>
复制代码

  3.编写Java类文件,Maven项目规定,所有的*.java文件必须放在src目录下的main目录下的java目录中,在Maven01项目根目录中创建一个src目录,然后在src目录中创建main目录,在main目录中再创建java文件夹,如下图所示:

  

  在java文件夹下创建一个Hello.java文件,如下图所示

  

  在Hello.java文件中编写如下代码:

1 public class Hello{
2     public static void main(String[] args){
3         System.out.println("Hello Maven");
4     }
5 }

  4.使用Maven编译Hello.java,首先进入到项目根目录,然后使用命令”mvn compile”进行编译,如下图所示:

  

  

  使用Maven编译完成之后,在项目根目录下会生成一个target文件夹,如下图所示:

  

  打开target文件夹,可以看到里面有一个classes文件夹,如下图所示:

  

  classes文件夹存放的就是编译成功后生成的.class文件,如下图所示:

  

  5.使用"mvn clean"命令清除编译结果,也就是把编译生成的target文件夹删掉,如下图所示:

  

  执行完"mvn clean"命令后,target文件夹就会被删除了。

五、修改从Maven中心仓库下载到本地的jar包的默认存储位置

  从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录(如"C:\Users\gacl"),如下图所示

  

  

  Jar包存放在这个位置不太好,我们希望能够自己定义下载下来的jar包的存放位置,因此我们可以自己设置下载到本地时的jar包的存放目录。

  在“E:\”目录下创建一个“repository”文件夹

  

  找到apache-maven-3.2.3\conf目录下的settings.xml文件,如下图所示:

  

  编辑setting.xml文件,如下图所示:

  

  加上下面的代码

1 <localRepository>E:/repository</localRepository>

  

  这样就可以把jar包下载到我们指定的E:/repository目录中了,如下图所示:

  

  把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。如下图所示:

  

  第一次执行"mvn compile"和"mvn clean"这两个命令时,Maven会去中央仓库下载需要的jar包,而第二次执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。

  以上就是Maven的简单入门讲解。

参考:https://www.cnblogs.com/xdp-gacl/p/3498271.html

分享到:
评论

相关推荐

    Maven实战- 入门

    总结来说,《Maven实战》是一本全面的Maven学习资料,它不仅详尽地覆盖了Maven的基础知识,还深入地介绍了Maven的核心概念和高级应用,是一本适合从初级到高级不同层次Java开发者的Maven学习手册。

    maven教案-maven入门学习资料

    【 Maven 概述】 在软件开发中,尤其是在Java领域,我们常常面临一系列问题,如环境配置差异、依赖管理混乱以及项目构建的繁琐等。这些问题在 Maven 出现后...学习和掌握 Maven,对于 Java 开发者来说是十分必要的。

    maven教程-maven教程-maven教程

    学习Maven的过程,不仅要掌握如何安装和配置Maven,还要理解Maven的工作机制和项目管理的方法。Maven的强大之处在于它的扩展性和灵活性,通过掌握Maven,可以显著提高项目的构建效率和质量。对于Java开发者而言,...

    Maven入门--较复杂的实例

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

    Maven入门--概念与实例

    Maven 是一个强大的项目管理和构建工具,主要用于Java项目,它简化了项目的构建、依赖管理和文档生成。Maven 的核心理念是通过使用一个统一的构建...学习并熟练使用 Maven 对于任何 Java 开发者来说都是非常有价值的。

    maven-dubbo-consumer

    总结来说,`maven-dubbo-consumer`项目是一个简单的入门教程,它展示了如何使用Maven和Dubbo框架创建一个能调用远程服务的消费者。通过这个项目,开发者可以理解Dubbo的基本工作流程,为进一步学习和使用Dubbo打下...

    apache-maven-3.3.9-bin

    对于开发团队来说,Maven提供了一种标准的构建流程,使得不同成员之间的协作变得更加简单,同时也简化了新成员的入职学习成本。通过使用Maven,开发者可以专注于编写业务代码,而无需担心构建和依赖管理的复杂性。

    Maven 3 入门 -- HelloWorld

    Maven 3 入门 -- HelloWorld Maven 是一个强大的项目管理工具,主要用于构建、管理和部署Java项目。在Java开发领域,Maven 已经成为标准的构建工具,它通过简化项目构建过程,使得开发者能够专注于代码本身,而不是...

    maven + springmvc 入门实例

    **SpringMVC与Maven入门实例详解** 在Java Web开发中,SpringMVC和Maven是两个非常重要的工具。SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构,用于构建可维护、高性能的Web应用程序。而...

    maven+springside 开发入门

    【标题】"maven+springside 开发入门"涉及的主要知识点是 Maven 和 Springside 这两个关键的Java开发工具。Maven 是一个项目管理和综合工具,它可以帮助开发者构建、管理和部署Java项目,而Springside则是一个基于...

    maven项目构建入门书籍

    ** Maven项目构建入门详解 ** Maven是Java开发中的一款强大构建工具,它极大地简化了项目的构建、管理和依赖管理过程。...学习和理解Maven,不仅能够提高个人开发效率,还能促进团队协作,使项目构建更加规范和有序。

    Maven 3 入门 -- 如何创建一个web应用程序

    ** Maven 3 入门 — 创建 Web 应用程序指南** Maven 是一款强大的项目管理和构建工具,尤其在Java开发领域广泛使用。它通过提供一套标准化的构建过程和依赖管理机制,使得开发者能够更高效地管理项目。在本文中,...

    maven学习笔记01(基础入门)

    ** Maven基础入门 ** Maven是一个Java项目管理工具,它主要负责构建、依赖管理和项目信息管理。Maven通过使用一种标准化的项目对象模型(Project Object Model,POM),能够自动化处理项目的构建、依赖管理和报告。...

    Maven2教程入门基础

    Maven2教程,项目构建使用,一起学习

    JAVAEE初学者简单SSM框架的maven项目-菜鸟版本期末复习

    通过这个项目,初学者将学习到如何配置Maven的`pom.xml`文件来管理依赖,如何创建和配置Spring的bean,如何设计和实现SpringMVC的控制器,以及如何使用MyBatis编写SQL映射文件和对应的Java接口。此外,还会涉及到...

    maven-quick-start:与Maven快速入门项目一起使用的示例项目

    ** Maven 快速入门指南 ** Maven 是一个强大的项目管理工具,主要用于构建、管理和部署 Java 项目。它通过提供一套标准的项目对象模型(Project Object Model,POM)来简化构建过程,使得开发者可以专注于编写代码...

    Maven+SpringMVC的入门级HelloWorld实例

    在IT行业中,Maven和SpringMVC是两个非常重要的组件,它们分别是项目管理和Web应用程序开发的核心...通过这个入门级的HelloWorld实例,我们可以快速理解这两个工具的基本用法,为进一步深入学习和实践打下坚实的基础。

Global site tag (gtag.js) - Google Analytics