【开发工具】Maven_安装_配置_常用操作 + IDEA与Maven


持续学习&持续更新中…

守破离


下载Maven

  • 进入https://www.apache.org/官网

  • 下拉至网页底部,点击Maven

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

安装Maven

环境变量的配置

  • 1 将下载好的Maven和Tomcat一样,直接解压,然后放至没有中文的路径下:

在这里插入图片描述

  • 2 配置环境变量

在这里插入图片描述

在这里插入图片描述

在cmd窗口中键入mvn -v,出现如下界面说明Maven配置安装成功。

在这里插入图片描述

初始化配置

在这里插入图片描述

修改Maven项目的JDK版本

方法1

在这里插入图片描述

    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
    <maven.compiler.compilerVersion>8</maven.compiler.compilerVersion>

方法2

在这里插入图片描述

方法3

在这里插入图片描述

    <profile>
      <id>jdk8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>8</jdk>
      </activation>
      <properties>
          <maven.compiler.source>8</maven.compiler.source>
          <maven.compiler.target>8</maven.compiler.target>
          <maven.compiler.compilerVersion>8</maven.compiler.compilerVersion>
      </properties>
    </profile>

使用命令行创建 Maven 普通 项目

方式一

  • 1 打开cmd,cd到想要创建项目的目录下

在这里插入图片描述

  • 2 在命令行中键入:mvn archetype:generate

第一次运行某些mvn命令,会去初始化下载很多东西。之后就不会了。

  • 3 键入ctrl+c然后输入Y,让Maven停止去**中央仓库**下载东西。(Maven会默认下载文件到**C:\Users\username\.m2\repository**文件夹下面)

在这里插入图片描述

在这里插入图片描述

  • 4 如果不想让其下载到c盘,想更改下载路径的话,操作如下步骤:

① 删除之前的.m2文件,然后找到Maven解压目录下的conf/settings.xml文件

在这里插入图片描述

② 修改settings.xml文件中的内容:

修改默认仓库路径:

<localRepository>D:/my_maven_repo/repository</localRepository>

在这里插入图片描述

  • 5 设置镜像

在settings.xml中找到mirrors标签,然后添加如下内容:

    <mirror>
      <id>aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

在这里插入图片描述

  • 6 再次键入mvn archetype:generate,让其去初始化下载。

  • 7 初始化下载完成后,选择项目类型,敲回车即可(默认选择7)

在这里插入图片描述

  • 8 group id(组织名称、公司域名、包名):coder.lp

  • 9 artifactId(项目名):hello_world

  • 10 版本号、package默认选项,一直敲回车,最后输入Y即可。

在这里插入图片描述

出现上图表示一个普通的Maven项目创建成功。

方式二

在这里插入图片描述

mvn archetype:generate –DgroupId=programmer.lp –DartifactId=hello_test –Dversion=1.0-RELEASE –DarchetypeGroupId=org.apache.maven.archetypes –DarchetypeArtifactId=maven-archetype-quickstart

使用命令行创建Maven Web 项目

方法一

  • 1 键入mvn archetype:generate

  • 2 选择项目类型:10

-3 输入groupId、artifactId、然后一直敲回车。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

方法二

在命令行输入:

mvn archetype:generate –DgroupId=programmer.lp –DartifactId=hello_webtest –Dversion=1.0-RELEASE –DarchetypeGroupId=org.apache.maven.archetypes –DarchetypeArtifactId=maven-archetype-webapp

在这里插入图片描述

IDEA配置Maven

在这里插入图片描述

可以根据自己的需要来配置IDEA的Maven,比如让IDEA使用自己下载安装好的Maven:

在这里插入图片描述

IDEA导入Maven项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

IDEA运行Maven指令

方式一

在导入成功后IDEA右侧的Maven选项卡

在这里插入图片描述

方式二

在这里插入图片描述

在这里插入图片描述

方式三

打开Terminal终端,然后进入项目所处目录,执行自己手动打开cmd一样的操作

在这里插入图片描述

IDEA新建Maven 普通项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

IDEA新建Maven Web项目

方法1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上述方式(勾选Create from archetype)创建Maven项目,pom.xml中会有很多冗余配置,生成一些不必要的东西。因此不建议使用。推荐使用下述方法2

方法2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

pom.xml配置中,只要配置上<packaging>war</packaging>就代表该项目是一个web项目。

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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>programmer.lp</groupId>
    <artifactId>nine_myself</artifactId>
    <version>1.0.0</version>

    <!--    声明该项目为一个web项目-->
    <packaging>war</packaging>

    <properties>
    <!--    setting.xml中已经配置过了 -->
    <!--    <maven.compiler.source>8</maven.compiler.source>-->
    <!--    <maven.compiler.target>8</maven.compiler.target>-->
        <!--        声明文件编码 & 解决Maven打包中文乱码问题  -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.8</version>
        </dependency>
    </dependencies>

    <build>
        <!--  使用IDEA部署Tomcat就不用在pom.xml中配置Tomcat插件了  -->
        <finalName>nine_myself</finalName>
    </build>

</project>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:使用Maven依赖Servlet时需要加上scope provided

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

在这里插入图片描述

在IDEA2021中Reimport就是Reload

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Maven配置Tomcat插件

配置Tomcat插件的目的是:通过Maven中的Tomcat插件来部署项目到Tomcat服务器

使用Maven内置的Tomcat7

在这里插入图片描述

Tomcat8之前get请求乱码问题解决

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <path>/test</path>
                    <port>8080</port>
                    <!--  Tomcat8之前get请求request.setCharacterEncoding("UTF-8")会导致乱码问题  -->
                    <!--  原因在于浏览器会自动对uri进行编码操作  -->
                    <!--  而Tomcat8之前Tomcat不会自动对uri进行解码操作,所以需要配置一下让其去对uri进行解码 -->
                    <uriEncoding>UTF-8</uriEncoding>
                </configuration>
            </plugin>

使用自己安装的Tomcat9

在这里插入图片描述

在这里插入图片描述

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <path>/test</path>
                    <!--  默认不写就是8080  -->
                    <!--  <port>8080</port>  -->
                    <!--  Tomcat8之前get请求request.setCharacterEncoding("UTF-8")会导致乱码问题  -->
                    <!--  原因在于浏览器会自动对uri进行编码操作  -->
                    <!--  而Tomcat8之前Tomcat不会自动对uri进行解码操作,所以需要配置一下让其去对uri进行解码 -->
                    <uriEncoding>UTF-8</uriEncoding>
                    <update>true</update>
                    <url>http://localhost:8080/manager/text</url>
                    <server>tomcat9</server>
                </configuration>
            </plugin>

在这里插入图片描述

上述两种Maven配置Tomcat插件部署项目的方式都很麻烦,推荐使用IDEA来部署Tomcat。

生成Runnable Jar

方法1

在这里插入图片描述

在这里插入图片描述

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib</classpathPrefix>
                            <mainClass>programmer.lp.Main</mainClass>
                        </manifest>
                    </archive>
                    <finalName>hellojava</finalName>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.2</version>
                <executions>
                    <execution>
                        <!--  <phase>package</phase>  -->
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!--  ${project.build.directory}就相当于target目录  -->
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

方法2

在这里插入图片描述

在这里插入图片描述

方法3

在这里插入图片描述

方法4

在这里插入图片描述

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.0.RELEASE</version>
                <executions>
                    <execution>
                        <!-- <phase>package</phase> -->
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                        <configuration>
                            <mainClass>com.mj.Main</mainClass>
                            <finalName>hellojava</finalName>
                            <!--  将scope system类型的本地Jar也打包的话需要加上这一句  -->
                            <includeSystemScope>true</includeSystemScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

常见问题解决

解决文件编码警告&Maven打包中文问题

在这里插入图片描述

通过Maven打包项目,默认情况下打包遇到中文就会出现乱码问题,使用该属性<project.build.sourceEncoding>就可以解决该问题。

该属性也可以解决文件编码警告问题。

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

解决IDEA控制台输出乱码

在这里插入图片描述

-Dfile.encoding=GBK

在这里插入图片描述

找不到依赖包

在这里插入图片描述

一些细节

  • 阿里云Maven镜像可用可不用(不推荐使用)

  • 一般都推荐加上 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>声明文件编码,解决Maven打包中文乱码问题。

  • 修改Maven项目的JDK版本推荐使用方法3,以后就不用在每个项目的pom.xml文件中添加属性了。

  • 使用IDEA部署Tomcat就不用在pom.xml中配置Tomcat插件了

  • 推荐在<build>下添加<finalName>nine_myself(context path)</finalName>,将打包生成的文件命名为context path

  • 使用Maven依赖Servlet时需要加上scope provided

  • Tomcat8之前需要在pom.xml的Tomcat插件中配置如下:<uriEncoding>UTF-8</uriEncoding>,详见Maven配置Tomcat插件

参考

李明杰: Java从0到架构师②JavaEE技术基石.


本文完,感谢您的关注支持!


Guess you like

Origin blog.csdn.net/weixin_44018671/article/details/120893262