zoukankan      html  css  js  c++  java
  • 19 Maven---项目管理工具

    1.Maven概念

    Maven 的正确发音是[ˈmevən]。Maven  在美国是一个口语化的词语,代表专家、内行的意思。

    一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模型 (POMProject Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。

    2.Maven的作用

    可以用更通俗的方式来说明。我们知道,项目开发不仅仅是写写代码而已,期间会伴随着各种 必不可少的事情要做,下面列举几个感受一下:

      1、我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用到一种 jar 包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的 jar 包冲突,版本冲突。

      2、世界上没有不存在 bug 的代码,计算机喜欢 bug 就和人们总是喜欢美女帅哥一样。为了追求美为了减少 bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。

      3、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型 打包,如果是 web 项目,还需要将之发布到服务器,供人蹂躏。

      试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理  jar 包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站点,你会心动吗?Maven 就可以解决上面所提到的这些问题。

    maven的依赖管理:

    3.Maven软件的安装

    maven安装包在百度云中

    Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如 E: oolsoftwareapache-maven-3.5.2 下面。解压后目录结构如下:

    bin:存放了 maven 的命令,比如我们前面用到的mvn tomcat:run

    boot:存放了一些 maven 本身的引导程序,如类加载器等

    conf:存放了 maven  的一些配置文件,如 setting.xml   文件

    lib:存放了 maven 本身运行所需的一些 jar 包

    至此我们的 maven 软件就可以使用了,前提是你的电脑上之前已经安装并配置好了 JDK。

    4.maven和jdk配置

    (1)配置系统变量

    打开系统变量设置

    新建---MAVEN_HOME

    (2)找到系统变量的path,新建%MAVEN_HOME%in(建议手动输入)

    (3)检查 maven 是否安装成功

    <1>win+R进入cmd窗口

    <2>mvn -version

    5.maven仓库的种类、Maven项目标准目录结构

    在maven的安装目录下:E: oolsoftwareapache-maven-3.5.2conf,找到settings.xml文件,进行修改。

    本地仓库位置:Default: ${user.home}/.m2/repository

    修改本地仓库的位置:<localRepository>E: oolsoftwaremaven_repository</localRepository>

    仓库分为3类:本地仓库、

     maven项目标准目录结构

    maven项目的生命周期

    6.Maven的pom文件解决jar依赖的原理

    在pom.xml配置好了jar包依赖之后,那么就会自动下载该jar包到本地仓库中去。
    具体地址在maven的安装配置哪里. conf/setting.xml。
    如果没配置xml。默认在C:Usersadmin.m2 epository

    例如:json字符串和JavaBean对象互相转换的过程中,需要使用jackson的jar包,在pom文件中添加如下依赖

    <dependencies>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>2.9.0</version>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
          <version>2.9.0</version>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
          <version>2.9.0</version>
        </dependency>
    
      </dependencies>

    若本地仓库中没有此jar包,则会到远程的maven仓库中下载,下载完成后,进入本地仓库可见jackson的相关文件

    7.IDEA集成maven的相关配置

    File--->Settings 配置 maven

    根据图片指示,选择本地 maven 安装目录,指定 maven 安装目录下conf 文件夹中 settings 配置文件。

    解决maven项目创建慢的方法:

    修改VM-Option为:-DarchetypeCatalog=internal

    参考经验贴:

    https://blog.csdn.net/qq_35437792/article/details/80631434(超级好用)

    maven创建的javaweb项目无法自动创建servlet:

    解决方案:

     javaweb项目报错:

    原因:tomcat 6.0.29与jdk1.8不兼容

    解决方案:参考文献:https://blog.csdn.net/u011781521/article/details/53713162

    pom文件中添加

    <plugin>
              <groupId>org.apache.tomcat.maven</groupId>
              <artifactId>tomcat7-maven-plugin</artifactId>
              <version>2.2</version>
              <configuration>
                <port>8888</port>
              </configuration>
            </plugin>
            <plugin>
              <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>

    再调用:

     8.IntelliJ IDEA修改maven默认仓库地址(重要)

    (1)左上角【File】—— 【Other Settings】 —— 【Default Settings】

    (2)查找Maven,并更改为本地配置:

     9.maven项目依赖无法添加报错

    出现红色波浪线

    解决方案:打开本地仓库,对应的存储位置将文件删除,重新下载即可。

  • 相关阅读:
    菜吉の骗分导论
    P3527 [POI2011]MET-Meteors 整体二分
    整体二分
    P5459 [BJOI2016]回转寿司 cdq分治
    P3810 【模板】三维偏序(陌上花开) cdq分治
    cdq分治:从归并到cdq套cdq
    KDtree 详解
    查看.a和so文件接口
    机器学习 ONNX Model Zoo
    剖析依赖属性
  • 原文地址:https://www.cnblogs.com/luckyplj/p/11262482.html
Copyright © 2011-2022 走看看