• Maven的第一天


    Maven第一天


    目录

    Maven第一天

    前言

    一、为什么要使用构建工具?

    二、安装maven

    1.下载地址

    Maven – Download Apache Maven

    2.下载注意的问题--idea与maven的版本兼容问题

      2.1 IDEA 2022 兼容maven 3.8.1及之前的所有版本

     2.2 IDEA 2021 兼容maven 3.8.1及之前的所有版本

    2.3 IDEA 2022 兼容Maven 3.6.4 及之前的所有版本

    ​编辑 2.4 IDEA 2018 兼容Maven 3.6.1及之前的所有版本

    3 核心概念 

    3.1 本地仓库

    3.2 中央仓库

    3.3 私服

    3.4 导入jar的流程

     ​编辑

    4 修改本地仓库的位置

     5. 修改中央仓库的镜像

    6.设置环境变量

     三、maven的目录结构

    1.java project

    2.java web project

    四、maven中常用的命令

    complile  

    clean

    test 

    package

    install

    deploy

    五、maven工程的创建

    1.spring.io

    ​编辑

    2.使用骨架(不推荐)

     2.1 eclipse 

    2.2 IDEA 

     3.跳过骨架

    3.1.eclipse

    3.2 IDEA

     ​编辑

    六、 Pom聚合工程 



    前言

    Maven 项目对象模型 (POM) ,可以通过一小段描述信息 来管理项目的构建,报告和 文档 项目管理工具 软件。   
    Maven 除了以程序构建能力为特色之外,还提供高级项 目管理工具。由于 Maven 缺省构建规则 有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven ,而且公司项目
    采用 Maven 的比例在持续增长。
    其中一小段描述信息,就是pom.xml

    一、为什么要使用构建工具?

    1、管理依赖

    2、完整的声明周期可以生成测试报告

    3、聚合工程的构建方式

    二、安装maven

    1.下载地址
     

    Maven – Download Apache Maven

    2.下载注意的问题--idea与maven的版本兼容问题

      2.1 IDEA 2022 兼容maven 3.8.1及之前的所有版本

     2.2 IDEA 2021 兼容maven 3.8.1及之前的所有版本

    2.3 IDEA 2022 兼容Maven 3.6.4 及之前的所有版本

     2.4 IDEA 2018 兼容Maven 3.6.1及之前的所有版本

     

     其实各大IDE都集成了maven,如果实在不行就使用IDE自带的Maven版本

    maven的目录结构 

    3 核心概念 

    3.1 本地仓库

    maven根据我们构建信息将需要的依赖从中央仓库或者远程仓库下载到本地指定的文件夹

    这个文件夹就是本地仓库

    3.2 中央仓库

    maven维护,当前主流的项目的依赖全部存储在中央仓库中。默认采用的国外的站点(下载速度过慢)

    我们一般采用 阿里镜像 华为镜像

    3.3 私服

    存放的是企业内部的第三方依赖,只供本企业访问

    3.4 导入jar的流程

     

    4 修改本地仓库的位置

    默认本地仓仓库再 ${user.home}/.m2/repository 文件夹中 ,当然如果c盘容量足够大的话也可以不用设置  
    设置方法是 先找到conf文件夹

     找到下面的settings.xml 文件夹

    设置本地仓库是哪个   

     5. 修改中央仓库的镜像

    我们改为阿里的镜像  ---因为maven的镜像是国外的服务器部署的,我们访问是非常慢的

    1. <mirror>
    2. <id>alimavenid>
    3. <name>aliyun mavenname>
    4. <url>http://maven.aliyun.com/nexus/content/groups/public/url>
    5. <mirrorOf>centralmirrorOf>
    6. mirror>

    6.设置环境变量

    M2_HOME:maven 的根目录
    path 中增 %M2_HOME%/bin

     三、maven的目录结构

    1.java project

    项目的名称 

       |---src 存放文件和源文件和配置文件

          |--main 运行时的源文件

             |--java  存放java源文件

             |--resource  java的配置文件

         |--test 测试时的源文件和配置文件

             |--java  存放java源文件

             |--resource  java的配置文件

    |--target 存放的是编译和打包后的文件

    |-- pom.xml  构建的描述信息

    2.java web project

    项目的名称

       |---src  存放文件的配置文件和源文件

           |-- main 运行时的源文件

                |-- java

                |--resource

                |--webapp

                   |--WEB-INF

                       |--web.xml

           |--test 测试时的源文件和配置文件  

                |-- java

                |--resource

       |--target 存放的编译和打包后的文件

       |--pom.xml 构建的描述信息 

    四、maven中常用的命令

    complile  

    编译,将源码编译到target中,编译为字节码文件

    clean

    清除target目录

    test 

    执行test目录的单元测试,并生成测试报告,采用断言机制

    package

    打包,将java打包为jar  将java web 打包为war

    install

    安装,将打包后的jar文件安装到本地仓库中,按照本地仓库的安装格式。可可以讲我们自定义的项目作为maven依赖使用

    deploy

    将项目部署到私服上

    五、maven工程的创建

    1.spring.io

    2.使用骨架(不推荐)

     2.1 eclipse 

     

     

    2.2 IDEA 

     3.跳过骨架

    3.1.eclipse

    3.2 IDEA

     

    六 Pom聚合工程 

    1. <project xmlns="http://maven.apache.org/POM/4.0.0"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0modelVersion>
    5. <groupId>con.sofwingroupId>
    6. <artifactId>maven_01_testartifactId>
    7. <version>1.0-SNAPSHOTversion>
    8. <packaging>warpackaging>
    9. <properties>
    10. <springmvc-version>5.0.5.RELEASEspringmvc-version>
    11. properties>
    12. <dependencies>
    13. <dependency>
    14. <groupId>org.springframeworkgroupId>
    15. <artifactId>spring-webmvcartifactId>
    16. <version>${springmvc-version}version>
    17. dependency>
    18. <dependency>
    19. <groupId>javax.servletgroupId>
    20. <artifactId>servlet-apiartifactId>
    21. <version>2.5version>
    22. <scope>providedscope>
    23. dependency>
    24. <dependency>
    25. <groupId>org.mybatis.generatorgroupId>
    26. <artifactId>mybatis-generator-coreartifactId>
    27. <version>1.3.7version>
    28. dependency>
    29. <dependency>
    30. <groupId>org.mybatisgroupId>
    31. <artifactId>mybatisartifactId>
    32. <version>3.5.9version>
    33. dependency>
    34. <dependency>
    35. <groupId>mysqlgroupId>
    36. <artifactId>mysql-connector-javaartifactId>
    37. <version>8.0.28version>
    38. dependency>
    39. <dependency>
    40. <groupId>junitgroupId>
    41. <artifactId>junitartifactId>
    42. <version>4.12version>
    43. dependency>
    44. <dependency>
    45. <groupId>org.apache.logging.log4jgroupId>
    46. <artifactId>log4j-coreartifactId>
    47. <version>2.9.1version>
    48. dependency>
    49. dependencies>
    50. <build>
    51. <finalName>RootWEntaofinalName>
    52. <resources>
    53. <resource>
    54. <directory>src/main/java/directory>
    55. <includes>
    56. <include>**/*.xmlinclude>
    57. includes>
    58. resource>
    59. <resource>
    60. <directory>src/main/resources/directory>
    61. <includes>
    62. <include>**/*.propertiesinclude>
    63. <include>**/*.xmlinclude>
    64. includes>
    65. resource>
    66. resources>
    67. <plugins>
    68. <plugin>
    69. <groupId>org.apache.maven.pluginsgroupId>
    70. <artifactId>maven-compiler-pluginartifactId>
    71. <version>3.8.1version>
    72. <configuration>
    73. <compilerVersion>8 compilerVersion>
    74. configuration>
    75. plugin>
    76. <plugin>
    77. <groupId>org.apache.tomcat.mavengroupId>
    78. <artifactId>tomcat7-maven-pluginartifactId>
    79. <version>2.2version>
    80. <configuration>
    81. <path>/maven_01path>
    82. configuration>
    83. plugin>
    84. <plugin>
    85. <groupId>org.mybatis.generatorgroupId>
    86. <artifactId>mybatis-generator-maven-pluginartifactId>
    87. <version>1.3.7version>
    88. <dependencies>
    89. <dependency>
    90. <groupId>org.mybatis.generatorgroupId>
    91. <artifactId>mybatis-generator-coreartifactId>
    92. <version>1.3.7version>
    93. dependency>
    94. <dependency>
    95. <groupId>mysqlgroupId>
    96. <artifactId>mysql-connector-javaartifactId>
    97. <version>8.0.28version>
    98. dependency>
    99. dependencies>
    100. plugin>
    101. plugins>
    102. build>
    103. project>

  • 相关阅读:
    Promise的使用与async/await的使用
    23111708[含文档+PPT+源码等]计算机毕业设计基于javaweb的旅游网站前台与后台旅景点
    linux安装并配置git连接github
    Y=AX+B问题
    Scss
    LuatOS-SOC接口文档(air780E)-- i2s - 数字音频
    巡检运维的UI设计,一目了然,方便快捷是核心诉求
    【夜莺监控方案】08-监控msyql集群(prometheuse+n9e+mysqld_exporter)
    时序预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机时间序列预测未来
    数字信号处理MATLAB作业
  • 原文地址:https://blog.csdn.net/weixin_52574640/article/details/126004794