Maven学习和踩坑记录

Maven

Maven的安装

下载安装包,直接解压就可以使用

目录

bin—构建项目

boot----maven运行的类加载器

conf------中有一个setings是我们对maven配置的很重要的一个配置文件

lib----------maven自身运行需要的一些jar包

需要配置maven的环境变量

path的环境变量

注意:maven的运行需要依赖于javahome的环境变量(确定我们的环境中有javahome)

如何确定我们的maven环境已经安装好了

DOS输入 : mvn -v

简述

项目管理工具

  1. 解决jar包管理
  2. 自动编译
  3. 自动的单元测试
  4. 打包整合配置文件和代码,便于维护
  5. 生成打包,部署文件

maven依赖管理

maven工程中,我们不在需要自己将项目中的jar包导入到项目中,而是用依赖的方式,从远程仓库中拿到jar包到本地使用,这是我们得项目打包之后的内存下

  • 传统的web工程----------jar包在项目中
  • maven开发的项目--------------jar包不在项目中

既然不在项目中,那么maven工程中怎么编译和运行时找到jar包呢?

是从远程仓库中找到jar包,怎么找?jar包的坐标

maven符合代码可重用.
依赖管理:maven工程对jar包的管理过程就是依赖管理.具体的讲就是maven项目中不需要在放jar包,而是放在中央仓库中,当我们项目编译或者运行的过程中,会通过jar包的坐标去中央仓库中找到对应的jar包.

maven一键购键

我们的项目,往往都要经过编译.测试.运行.打包.安装.部署等一系列的过程

什么是构建?

指的是:项目从编译.测试.运行.打包.安装.部署等一系列的过程都交给maven进行管理,过程称为构建

一键构建指的是整个构建过程,使用maven一个命令可以轻松完成整个工作

Maven规范化构建流程

maven将项目构建进行标准化,每个阶段使用一个命令完成.

清理------编译------测试--------报告-------打包-----------部署

Maven仓库的种类和彼此关系

在这里插入图片描述

Maven标准目录结构:

首先我们确定我们的项目中应该包含哪些部分:

  1. 核心代码部分
  2. 配合文件部分
  3. 测试代码部分
  4. 测试配置部分

maven项目标准目录结构

  1. src/main/java目录 :核心代码目录
  2. src/main/resources:配置文件目录
  3. src/test/java目录:测试代码部分
  4. src/test/resources:测试配置文件
  5. src/main/webapp 页面资源js,css图片页面等

maven常用命令:

  • compile:是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录中
    • 在项目中进入cmd页面,执行mvn compile命令
  • clean:删除该项目在本地编译的所有的文件(因为项目拿过来之后因为使用的(开发环境)软件的版本不同可能不能编译成功),然后自己重新编译.
    • 在项目中进入cmd页面,执行mvn clean命令
  • text:是maven工程的编译命令,作用是将src/main/text和src/main/java下的文件编译为class文件输出到target目录中
    • 在项目中进入cmd页面,执行mvn text命令
  • package:将项目打包,放在了target目录下生成了一个项目的打包文件xxx.war(为什么打包为war包,和maven的配置有关),这个命令和同时把java目录下和text目录下的文件编译
    • 在项目中进入cmd页面,执行mvn package命令
  • install:项目部署,将这个项目安装到了本地仓库,并且也同时把java目录和text目录下的文件编译,并且打包为war包

Maven生命周期

在这里插入图片描述

Maven概念模型图

在这里插入图片描述

IDEA集成maven工具

前提是:我们的电脑上已经安装了maven工具

而且正确的安装了jdk(maven工具依赖jdk)

在这里插入图片描述

配置SSL认证

在这里插入图片描述
配置这个的目的是:绕过SSL认证,就可以在配置了镜像仓库之后来下载jar包,不然很可能下载失败

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true

maven项目的创建

  1. 不使用骨架创建maven项目
  2. 使用quickstart骨架创建maven项目
  3. 使用骨架创建webapp项目
    • 注意需要自己创建src下的java包并标记为源码包

maven项目的导入

  1. 创建新的空的项目
  2. 用右边的maven工具打开要导入项目的pom文件
  3. 调整jar包的依赖

maven中常见的问题

1.maven项目中依赖导入但是不能正常使用jar包

2.导入新项目时,maven projects栏中dependencies中总是有红色波浪线

其实我们的仓库中应该是有哪些jar包的,但是可能因为IDEA的bug而找不到jar包

其中一个解决方案就是:

  1. 现在 maven projects工具栏执行 mvn clean命令,删除之前的编译
  2. 在项目pom中先删除有红线的jar包的依赖
  3. 在maven projects的工具栏中reimport(或者在点击pom.xml的maven标签中的reimport)

需要注意的

在maven projects栏中dependencies中总是有红色波浪线,并不一定是我们的jar包依赖有错,只有那种前面有小三角符号的才真正是jar包依赖有问题,其他的可能是我们在修改pom.xml文件时因为会自动保存和部署,而造成的一些很随意的字符的错误

1.另外tomcat的版本和jdk的版本也要特别注意

<!--maven插件-->
<plugins>
    <!--jdk编译插件-->
       <plugin>
           <!--配置jdk -->
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <configuration>
               <target>1.8</target>
               <source>1.8</source>
               <encoding>UTF-8</encoding>
           </configuration>
       </plugin>
    <!--tomcat插件-->
    <plugin>
        <!--配置tomcat7 要设置为自己的tomcat的版本 -->
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <!-- 配置端口号 -->
        <configuration>
            <port>80</port>
            <!-- 项目访问路径  本例:localhost:9090,  如果配置的aa, 则访问路径为localhost:9090/aa-->
            <path>/travel</path>
        </configuration>
    </plugin>

猜你喜欢

转载自blog.csdn.net/qq_40742223/article/details/106270428
今日推荐