03-002 开发工具之Maven的IDEA版

Maven是什么

项目管理工具,包含了一个项目对象模型(POM Project Object Model)

Maven能解决什么问题

1.jar包冲突
2.Java文件编译成二进制class字节码文件
3.提示代码错误,减少bug
4.打包

Maven优势

核心功能:
1.依赖管理,就是Maven对jar包的管理过程。
传统的web工程开发的CRM项目编译后占据内存很大,jar包在项目中。
Maven开发的项目jar包不在项目中,而是在jar包仓库中,通过jar包坐标引用。Maven节省了磁盘空间,满足了代码可重用的要求。
2.一键构建
项目都会经过编译、测试、运行、打包、安装、部署等一系列过程。
这些过程都交给Maven进行,就是一键构建。
jar包坐标放在pom.xml中
复制Maven项目路径DOS窗口打开后执行Maven命令
mvn tomcat:run 项目直接运行起来了

Maven安装

配置maven

自动化构建工具
Make》Ant》Maven》Gradle
清理
编译
测试
报告
打包
部署
自己配置maven
点击下载maven.后解压到指定目录下,配置环境变量。
在这里插入图片描述
在这里插入图片描述
注意:Win10系统mvn -version命令不是内部命令 也不是可运行的程序,可以简单粗暴删除MAVEN_HOME,直接在Path中加入bin路径(如D:\NEW\apache-maven-3.6.3\bin)。
IDEA配置:
在这里插入图片描述
配置这个参数后即使断网也可以创建maven项目
在这里插入图片描述
settings.xml可以配置:例如仓库地址等。
如果本地仓库没有会去中央仓库下载,公司可以自己创建远程仓库(私服),就可以通过局域网到私服下载。

修改pom.xml后实时下载,源码和说明文档不用自动下载,分配内存基本不用改动。
在这里插入图片描述

Maven标准目录结构

项目可以分为:

  • 核心代码部分
  • 配置文件部分
  • 测试代码部分
  • 测试配置文件
    Maven项目标准目录结构
    src/main/java目录:核心代码部分
    src/main/resources目录:配置文件部分
    src/test/java目录:测试代码部分
    src/test/resources目录:测试配置文件
    src/main/webapp 页面资源,js,css,图片等(如果是JavaWeb项目)

常用命令

mvn clean: 删除target目录
mvn compile:编译
mvn test:测试,test和正式的都会重新编译
mvn package:打包,打出来的包放在target下,pom.xml下package标签指定类型。
mvn install:正式测试都编译,打包后会把包放到本地仓库。
mvn deploy:发布

Maven生命周期

默认生命周期
编译compile》测试test》打包package》安装install》发布deploy
越往后面执行命令时,前面会重新执行一遍。
清理生命周期
清理clean
站点生命周期
实际开发用的不多

双击执行命令,生命周期外的命令可以按图示操作:
在这里插入图片描述

概念模型图

在这里插入图片描述
项目对象模型:项目自身信息
项目运行依赖的jar包信息
项目运行环境信息,比如jdk、Tomcat

依赖管理模型

<dependency>
	 <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.2</version>
</dependency>

三个最基本信息公司组织名称,项目名,版本号

默认生命周期:compile,test,package,install,deploy
每个构建项目命令对应Maven底层的一个插件

IDEA集成Maven

前期:已经安装好Maven工具,配置完成。
new project,如果使用骨架可以按图示勾选,然后继续选择下面的,例如quickstart
在这里插入图片描述
如果main下没有resource文件夹,可以自己创建然后:
在这里插入图片描述
推荐不使用骨架

创建web工程
在这里插入图片描述
main上创建Java文件夹,然后右键mark as source root即可。
IDEA各文件夹放置文件要求非常严格

解决jar包冲突

Maven JAR包冲突问题排查及解决方案(重点)

加上scope限定作用域

编译时不起作用
<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
</dependency>
只在测试时起作用
<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
</dependency>

在这里插入图片描述

maven工程运行环境修改

可以用mvn 命令直接运行tomcat7:run
在这里插入图片描述

学习整理于Maven基础篇(IDEA版)
.

发布了53 篇原创文章 · 获赞 0 · 访问量 383

猜你喜欢

转载自blog.csdn.net/weixin_40778497/article/details/103664973