侧边栏

Maven整合IDEA步骤

1.maven的概念和作用

  • maven的概念和作用:maven是一款项目管理工具,作用:1、能够帮助我们统一编译、测试、打包、安装、部署、调优项目,2、能够帮助我们统一管理jar包(依赖管理)。还可以对项目进行调优。

2.maven的安装和相关配置

  • 在系统环境变量中,点击新建、配置MAVEN_HOME

    1.maven环境变量配置.bmp

  • 在系统环境变量中,找到path,点击编辑,如果是如下所示,再点击新建

2.配置path_1.bmp

或者:

2.配置path_2.bmp

  • 测试是否配置成功,打开cmd命令行窗口,输入mvn -v

    3.测试mvn配置是否成功.bmp

3.仓库的分类

3.1 仓库的分类

4.maven的分类.bmp

本地仓库:本地仓库就是自己电脑中的一个文件夹,这个文件夹中放了很多常用的jar包。maven优先从本地仓库获取jar包,如果有就直接返回;

远程仓库/私服:局域网内的一个仓库,局域网内所有用户都可以共享;maven优先从本地仓库获取jar包,如果没有就从私服中获取,如果私服中有jar,那么就下载到本地仓库,maven项目从本地仓库获取jar包。如果私服中没有jar包,那么就会从中央仓库下载jar包到私服,然后从私服下载jar包到本地仓库,,maven项目最后从本地仓库获取jar包

中央仓库:需要外网访问的一个仓库,有我们开发的所有jar包。maven优先从本地仓库获取jar包,如果没有,那么自动去中央仓库下载jar包到本地仓库,最后从本地仓库获取jar包。

中央仓库位置:https://mvnrepository.com

3.2 配置本地仓库以及阿里镜像(重点1)

  • 配置本地仓库:打开apache-maven-3.5.2\conf\settings.xml配置文件

<localRepository>D:/maven_repository</localRepository>

  • 配置阿里中央仓库镜像:在mirrors标签中配置如下内容(资料中的maven已配置,可以不用配)
<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>        
</mirror>

4.常用命令

  • 常用命令
mvn clean: 清除所有编译信息
mvn compile:编译java主代码
mvn test:编译并且测试测试类代码,同时也编译的java主代码
mvn package:将项目打成jar包或者war;在打包之前会对项目进行compile
mvn install:将项目打好的jar包或者war安装到本地仓库;在安装之前对项目进行compile和package
  • 生命周期

maven生命周期.png

5.idea中集成maven(重点2)

  • 集成maven

6.idea中集成maven_1.bmp

  • 配置运行环境:-DarchetypeCatalog=internal -Dfile.encoding=gbk

6.idea中集成maven_2.bmp

6.在idea中创建maven项目(重点3)

6.1 创建java项目-不使用骨架

  • 第一步:

1.bmp

  • 第二步:

2.bmp

  • 第三步

3.bmp

  • 第四步:需要在pom.xml添加<packaging>jar</packaging>,否则使用mvn package无法打包

4.bmp

2.2 创建web项目-不使用骨架

  • 第一波:先使用创建java项目的步骤创建一个java项目,在pom.xml中配置<packaging>war</packaging>
  • 第二波:在main下创建webapp,并将webapp标注为web目录

5.bmp

第三波:最终的目录结构如下:

6.bmp

7.依赖管理以及依赖范围(重点4)

7.1 使用坐标添加依赖

  • 坐标:坐标指的是jar包在仓库中位置的唯一标识;

  • 中央仓库位置:https://mvnrepository.com

  • 坐标的做成部分:

    7.坐标组成部分.bmp

  • 依赖范围

    • 在坐标中添加依赖范围

    8.坐标中添加依赖范围.bmp

    • 依赖范围的种类

    9.依赖范围.bmp

    compile: 主代码编译期、测试代码编译期、运行期都有效 默认;(war包中有对应的jar包)

    provided:主代码编译期、测试代码编译期有效、运行期无效(war包中没有对应的jar包)

    test:主代码编译期无效, 测试代码编译期有效、运行期无效

    runtime:主代码编译期无效, 测试代码编译期有效、运行期有效

    system: 基本不用,需要配置<systemPath>标签指定jar包的绝对路径,通过这个路径找到本地jar包

  • 常用jar包的范围:javax.servlet-api和jsp-api的jar包范围是provided,junitjar包的范围是test,mysql驱动jar包范围可以设置成runtime,但是一般也是使用compile。其他jar包都是默认使用compile

8.常用的插件(重点5)

  • jdk1.8插件
 <!-- 配置jdk1.8插件 -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>utf-8</encoding>
    </configuration>
</plugin>
  • tomcat7插件
<!--配置Tomcat7插件 -->
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <port>80</port>
        <uriEncoding>utf-8</uriEncoding>
    </configuration>
</plugin>
posted @ 2021-01-27 16:00  亚尔  阅读(307)  评论(0编辑  收藏  举报