Windows安装Maven+idea配置Maven环境

原文链接: https://blog.csdn.net/m0_37167369/article/details/81628305

Maven是什么?

maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。

什么是项目构建?

项目构建是一个项目从编写源代码到编译、测试、运行、打包、部署、运行的过程。

什么是依赖管理?

maven将项目构建的过程进行标准化,每个阶段使用一个命令完成。

Maven的优点

  1. 一个命令完成构建、运行,方便快捷。
  2. maven对每个构建阶段进行规范,非常有利于大型团队协作开发。

下载Maven : https://maven.apache.org/download.cgi

在这里插入图片描述

解压apache-maven-3.6.1.bin.zip文件夹

在这里插入图片描述

配置Maven的环境变量

1.新建一个系统变量 MAVEN_HOME
2.变量值 是Maven的安装路径
在这里插入图片描述

在PATH变量中引用这个MAVEN_HOME

在这里插入图片描述

CMD命令窗口查看是否安装成功(输入 mvn -v)

在这里插入图片描述

Maven仓库

maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A、项目B等都会通过maven软件从远程仓库(可以理解为互联网上的仓库)下载jar包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此jar包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。

  1. 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找默认本地仓库位置在 u s e r . d i r / . m 2 / r e p o s i t o r y {user.dir}/.m2/repository, {user.dir}表示windows用户目录。
  2. 远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。
  3. 中央仓库 :在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。

Maven项目工程目录约定 重要

src/main/java —— 存放项目的.java文件

src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件

src/test/java —— 存放所有单元测试.java文件,如JUnit测试类

src/test/resources —— 测试资源文件

target —— 项目输出位置,编译后的class文件会输出到此目录

pom.xml——maven项目核心配置文件

Project

|-src

| |-main

| | |-java —— 存放项目的.java文件

| | |-resources —— 存放项目资源文件,如spring, hibernate配置文件

     |-webapp     —— webapp目录是web工程的主目录

        |-WEB-INF

          |-web.xml

| |-test

| |-java ——存放所有测试.java文件,如JUnit测试类

| |-resources —— 测试资源文件

|-target —— 目标文件输出位置例如.class、.jar、.war文件

|-pom.xml ——maven项目核心配置文件

pom.xml 文件

一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。

  1. 依赖管理系统(Dependency Management System)

通过maven的依赖管理对项目所依赖的jar 包进行统一管理。
比如:项目依赖junit4.9,通过在pom.xml中定义junit4.9的依赖即使用junit4.9,如下所示是junit4.9的依赖定义:

   <dependencies>

          <!-- 此项目运行使用junit,所以此项目依赖junit -->

          <dependency>

                 <!-- junit的项目名称 -->

                 <groupId>junit</groupId>

                 <!-- junit的模块名称 -->

                 <artifactId>junit</artifactId>

                 <!-- junit版本 -->

                 <version>4.9</version>

                 <!-- 依赖范围:单元测试时使用junit -->

                 <scope>test</scope>

          </dependency>
  1. 一个项目生命周期(Project Lifecycle)
    使用maven完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven将这些过程规范为一个生命周期,如下所示是生命周期的各各阶段:
    清理–>编译–>测试–>报告–>打包–>部署

定义maven坐标

每个maven工程都需要定义本工程的坐标,坐标是maven对jar包的身份定义,比如:入门程序的坐标定义如下:

<–项目名称,定义为组织名+项目名,类似包名–>

org.westos

<-- 模块名称 -->

maven-first

<-- 当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本 -->

< version>0.0.1-SNAPSHOT< /version>

< packaging > :打包类型

  1. jar:执行package会打成jar包
  2. war:执行package会打成war包
  3. pom :用于maven工程的继承,通常父工程设置为pom

下面重点使用IDEA来开发Maven项目

猜你喜欢

转载自blog.csdn.net/yuanting_/article/details/99825462