Maven的理解与应用

Maven使用

一、Maven的含义

Maven是一个构建项目的工具,也是一个管理项目的工具

二、Maven的应用
  • 构建项目

  • 管理依赖

  • 做项目的热部署

  • 基于项目做多模块(modle)的构建

三、Maven的安装

注意:maven本身不需要安装,下载解压就可以了

  1. 配置环境变量
变量名 路径
M2_HOME C:\apache-maven-3.6.0
Path %M2_HOME%\bin
  1. 验证是否配置成功

打开cmd输入mvn -version

四、使用命令操作Java项目
4.1 创建Java项目
  1. 进入工作空间,取名(xxxMavenWorkspace)
  1. cd C:\MavenWorkspace 进入到此目录
  1. 输入命令来找模板 mvn archetype:generate
  1. 默认出现10个常见的模板 默认选择的是 7号模板(用来创建 java项目org.apache.maven.archetypes:maven-archetype-quickstart)
  1. 填写groupId -- 组别(今天你的认为就是包名)
  1. 填写 artifactId -- 项目名
  1. 填写 version -- 版本号(这个直接默认就好,一般情况下不改)
  1. 填写 package -- 包名(默认是groupId,这里默认就好)
  1. 输入 Y (确定)

  2. 构建项目

4.2 项目目录解析

MavenWorkspace\JavaTest01\src

MavenWorkspace\JavaTest01\src\main

C:\MavenWorkspace\JavaTest01\src\main\java -- 存放java源文件

C:\MavenWorkspace\JavaTest01\src\test -- 存放测试文件

MavenWorkspace\JavaTest01\pom.xml -- 插件管理、项目的依赖管理、整个项目自己的坐标

4.3 运行项目
  1. cd C:\MavenWorkspace\JavaTest01 进入此目录
  1. mvn package项目打包,此时会在项目根目录中生产target文件夹
  1. cd C:\MavenWorkspace\JavaTest01\target 进入此目录
  1. java -cp JavaTest01-1.0-SNAPSHOT.jar com.dream.test01.App 运行代码

注意:

mvn clean-----清空target文件

mvn install :打包并将这个jar文件放到本地仓库(管理jar文件的本地库)

mvn test:运行所有的测试用例

五、使用命令操作JavaWeb项目
5.1 创建JavaWeb项目
  1. 进入工作空间,取名(xxxMavenWorkspace)
  1. cd C:\MavenWorkspace 进入到此目录
  1. 输入命令来找模板 mvn archetype:generate
  1. 选择10号模板(用来创建Web项目org.apache.maven.archetypes:maven-archetype-webapp)
  1. 填写groupId -- 组别(今天你的认为就是包名)
  1. 填写 artifactId -- 项目名
  1. 填写 version -- 版本号(这个直接默认就好,一般情况下不改)
  1. 填写 package -- 包名(默认是groupId,这里默认就好)
  1. 输入 Y (确定)

  2. 构建项目

5.2 项目目录解析

MavenWorkspace\WebTest01\src

MavenWorkspace\WebTest01\src\main

MavenWorkspace\WebTest01\src\main\resources存放资源文件

MavenWorkspace\WebTest01\src\main\webapp 存放前端资源和web.xml

C:\MavenWorkspace\WebTest01\pom.xml 插件管理、项目的依赖管理、整个项目自己的坐标

注意:mvn package项目打包,此时会在项目根目录中生产target文件夹

六、在IDEA中配置Maven
  1. 配置maven的国内仓库/中央仓库

位置:C:\apache-maven-3.6.0\conf\settings.xml

XML 复制代码
<mirrors>
​
<!--
​
 <mirror>
​
    <id>mirrorId</id>
​
    <mirrorOf>repositoryId</mirrorOf>
​
    <name>Human Readable Name for this Mirror.</name>
​
    <url>http://my.repository.com/repo/path</url>
​
 </mirror>
​
-->
​
    <mirror>
​
       <id>alimaven</id>
​
       <name>aliyun maven</name>
​
       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
​
       <mirrorOf>central</mirrorOf>    
​
    </mirror>
​
</mirrors>
​
​
  1. 配置maven的本地仓库

    位置:C:\apache-maven-3.6.0\conf\settings.xml

    XML 复制代码
    <!-- 
    ​
      localRepository
    ​
        | The path to the local repository maven will use to store artifacts.
    ​
        |
    ​
        | Default: ${user.home}/.m2/repository
    ​
       <localRepository>/path/to/local/repo</localRepository>
    ​
    -->
    ​
      <localRepository>C:\.m2\repository</localRepository>
  2. 在IDEA中配置Maven -- File--> Setting

七、 在IDEA中操作Java项目
八、在IDEA中操作Web项目

其余步骤用上

解析pom.xml:
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/xsd/maven-4.0.0.xsd">
​
 <modelVersion>4.0.0</modelVersion>
​
 <!--项目坐标-->
​
 <groupId>com.dream.test01</groupId>
​
 <artifactId>WebTest02</artifactId>
​
 <version>1.0-SNAPSHOT</version>
​
 <packaging>war</packaging>
​
 <!--
​
•     <packaging>jar</packaging>打包的时候打包成jar文件 - Java项目
​
•     <packaging>war</packaging>打包的时候打包成war文件 - Web项目
​
•     <packaging>pom</packaging>不打包,表示聚合项目工程
​
 -->
​
 
​
 <name>WebTest02 Maven Webapp</name>
​
 <!-- FIXME change it to the project's website -->
​
 <url>http://www.example.com</url>
​
 
​
 <properties>
​
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
​
  <maven.compiler.source>1.8</maven.compiler.source>
​
  <maven.compiler.target>1.8</maven.compiler.target>
​
 </properties>
​
 
​
 <!--项目的jar依赖-->
​
 <dependencies>
​
  <dependency>
​
   <groupId>junit</groupId>
​
   <artifactId>junit</artifactId>
​
   <version>4.11</version>
​
   <scope>test</scope><!--表示在测试的时候有效-->
​
  </dependency>
​
 
​
  <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
​
  <dependency>
​
   <groupId>javax.servlet</groupId>
​
   <artifactId>javax.servlet-api</artifactId>
​
   <version>4.0.1</version>
​
   <scope>provided</scope><!--表示在编译和测试过程中有效,最后生成的war包时不会加入-->
​
  </dependency>
​
 </dependencies>
​
 
​
 <!--项目的构建的时候使用的信息-->
​
 <build>
​
  <finalName>WebTest02</finalName>
​
 </build>
​
</project>

注意:编写java代码的位置问题

在web项目中对的src/main中创建java并设置成源码文件夹

九、在IDEA中操作聚合项目(父工程项目/多模块构建)

其余步骤同上

目录解析:
创建子级工程:

右键父级工程 --> new --> moudle---后面的步骤和创建单个工程一样

使用maven构建项目的时候 需要先找模板 通过模板来创建 项目

十.聚合项目中工程之间相互引用

含义:在一个子级工程中引用另一个子级工程中的资源

在子级工程pom.xml中配置另一个子级工程的项目坐标

XML 复制代码
<dependencies>
​
 <dependency>
​
  <artifactId>StudentManagerSystemPojo</artifactId>
​
  <groupId>com.dream.test01</groupId>
​
  <version>1.0-SNAPSHOT</version>
​
 </dependency>
​
<dependencies>
十一、Maven管理项目依赖

含义:在Maven仓库中寻找Jar包

仓库分类:

本地仓库:本地的一个文件夹,用来存放所有的jar包,由自己维护 远程仓库(或私服):由公司或单位创建的一个仓库,由公司维护 中央仓库:互联网上的仓库,由Maven团队维护(国内一般设计阿里云为中央仓库,下载jar更快)

寻找流程:本地仓库 --> 远程仓库(或私服) --> 中央仓库

导包流程:

  1. https://mvnrepository.com查询jar包描述

  2. 在项目pom.xml中配置jar包描述,IDEA将jar包下载到本地仓库即可

相关推荐
waterHBO1 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
AIAdvocate4 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼4 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
FreakStudio6 小时前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
redcocal7 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
artificiali8 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
RaidenQ8 小时前
2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
图像处理·python·算法·课程设计
花生了什么树~.8 小时前
python基础知识(六)--字典遍历、公共运算符、公共方法、函数、变量分类、参数分类、拆包、引用
开发语言·python
Trouvaille ~8 小时前
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
图像处理·python·机器学习·numpy·信号处理·时间序列分析·科学计算