欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Maven入门的介绍到安装、maven工程搭建(超详细)

程序员文章站 2022-10-03 16:19:18
项目管理工具Maven概念: maven是一款项目管理工具,主要是用于解决java项目中各种jar包的依赖管理,底层是java代码编写的。 maven是将项目当成一个对象来管理的,maven中一个很重要的思想是pom(project object model)项目对象模型。作用:项目的依赖管理(jar包)解决jar包的版本冲突项目的构建项目的测试项目的编译项目的打包maven的本质是一个项目管理工具,讲项目开发和管理过程抽象为一个项......

项目管理工具Maven

概念:

       maven是一款项目管理工具,主要是用于解决java项目中各种jar包的依赖管理,底层是java代码编写的。

       maven是将项目当成一个对象来管理的,maven中一个很重要的思想是pom(project object model)项目对象模型。

作用:

  1. 项目的依赖管理(jar包)
  2. 解决jar包的版本冲突
  3. 项目的构建
    1. 项目的测试
    2. 项目的编译

项目的打包

Maven入门的介绍到安装、maven工程搭建(超详细)

maven的本质是一个项目管理工具,讲项目开发和管理过程抽象为一个项目对象模型 pom 

Maven入门的介绍到安装、maven工程搭建(超详细)

Maven下载

官网

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

Maven是属于绿色版软件,解压即可安装

目录结构:

Maven入门的介绍到安装、maven工程搭建(超详细)

Maven环境变量

  • 依赖java,需要配置JAVA_HOME
  • 设置MAVEN自身的运行环境,需要配置MAVEN_HOME
  • 测试环境配置结果

Maven入门的介绍到安装、maven工程搭建(超详细)

Maven入门的介绍到安装、maven工程搭建(超详细)

mvn -v

Maven入门的介绍到安装、maven工程搭建(超详细)

显示如上所示,mavne就安装成功了。

仓库

  • 仓库:用于存储资源,包含各种jar包。

Maven入门的介绍到安装、maven工程搭建(超详细)

仓库分类

  • 本地仓库:自己本地电脑上存储资源的仓库,连接远程仓库获取资源
  • 远程仓库:非本地电脑上的仓库,为本地仓库提供资源
  • *仓库:MAVNE团队维护,存储所有资源的仓库
  • 私服:一般是公司内部存储资源的仓库,从*仓库获取资源
  • 私服的作用:保存具有版权的资源,包含购买或者自主研发的jar

MAVEN中的坐标

maven中的坐标是用于描述仓库中资源的位置

https://repo1.maven.org/maven2/

maven坐标的组成
  • groupId:定义当前MAVEN项目所属机构或者公司的名称,通常是域名反写,例如(org.mybatis)
  • artifactId:定义当前MAVEN项目名称 通常是模块名称
  • version:定义当前版本号

maven坐标的作用

使用唯一的标识,唯一定位资源的位置,通过该标识可以将资源的识别与下载交予机器完成

Maven入门的介绍到安装、maven工程搭建(超详细)

maven默认连接的远程仓库位置

<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

镜像仓库配置

<mirrors> <!-- --> <mirror> <!-- mirror --> <id>nexus-aliyun</id> <!-- --> <mirrorOf>central</mirrorOf>
<!-- --> <name>Nexus aliyun</name>
<!-- URL --> <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>

IDEA生成maven项目

1.配置maven

Maven入门的介绍到安装、maven工程搭建(超详细)

2.创建java项目

Maven入门的介绍到安装、maven工程搭建(超详细)

3.转换为web项目

Maven入门的介绍到安装、maven工程搭建(超详细)

Maven入门的介绍到安装、maven工程搭建(超详细)

Maven入门的介绍到安装、maven工程搭建(超详细)

表示创建maven工程创建成功!

4.设置pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<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.itheima</groupId>  
  <artifactId>maven</artifactId>  
  <version>1.0</version>  
  <packaging>war</packaging>  
  <!--依赖管理-->  
  <dependencies> 
    <!--junit依赖-->  
    <dependency> 
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>4.12</version> 
    </dependency> 
  </dependencies>  
  <build> 
    <plugins> 
      <!--tomcat7插件-->  
      <plugin> 
        <groupId>org.apache.tomcat.maven</groupId>  
        <artifactId>tomcat7-maven-plugin</artifactId>  
        <version>2.1</version>  
        <configuration> 
          <port>80</port>  
          <path>/</path> 
        </configuration> 
      </plugin> 
    </plugins> 
  </build> 
</project>

5.开启tomcat7 启动服务器

Maven入门的介绍到安装、maven工程搭建(超详细)

Maven入门的介绍到安装、maven工程搭建(超详细)

浏览器访问

Maven入门的介绍到安装、maven工程搭建(超详细)

表示maven工程初步创建工程成功。

maven依赖管理

依赖是指当前项目运行所需要的的jar包,一个项目可以设置多个依赖。

例如:

 <!--junit依赖-->  
    <dependency> 
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>4.12</version> 
    </dependency> 

maven的依赖传递

  • 依赖具有传递性

直接依赖:在当前项目中通过依赖配置的依赖关系

间接依赖:被依赖的资源如果依赖于其他资源,当前项目间接依赖于其他资源

Maven入门的介绍到安装、maven工程搭建(超详细)

MAVEN中依赖冲突问题

  • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
  • 声明优先:在资源在同级被依赖的时候,配置顺序靠前的覆盖顺序靠后的

Maven中依赖范围

Maven入门的介绍到安装、maven工程搭建(超详细)

默认的jar依赖在项目中的任何地方都可以使用,可以通过scope标签设置jar包的生效范围。

  • 主程序范围有效:main文件夹范围内
  • 测试程序范围有效:test文件夹范围内
  • 是否参与打包:package指令范围内

Maven的生命周期与插件

  • maven构建生命周期描述的是一次构建过程(从创建到销毁)经历了多少事件

Maven入门的介绍到安装、maven工程搭建(超详细)

项目构建生命周期

maven对项目构建的生命周期分为三套

  • clean:清理工作
  • default:核心工作,例如编译,测试,打包,部署等
  • site:产生报告,发布站点等

Maven入门的介绍到安装、maven工程搭建(超详细)

 

Maven入门的介绍到安装、maven工程搭建(超详细)

Maven入门的介绍到安装、maven工程搭建(超详细)

插件

<build> 
    <plugins> 
      <!--tomcat7插件-->  
      <plugin> 
        <groupId>org.apache.tomcat.maven</groupId>  
        <artifactId>tomcat7-maven-plugin</artifactId>  
        <version>2.1</version>  
        <configuration> 
          <port>80</port>  
          <path>/</path> 
        </configuration> 
      </plugin> 
    </plugins> 
  </build> 

 

插件的作用就是让我们可以使用自定义功能,以上就是博主个人整理的有关maven入门的相关资料。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文地址:https://blog.csdn.net/qq_37281398/article/details/107591045

相关标签: java