zoukankan      html  css  js  c++  java
  • Maven第三篇【Maven术语、pom.xml介绍】

    maven术语

    在我们上一篇中已经知道了在Intellij idea下是如何使用Maven的了,创建出来的目录结构是这样子的:

    这里写图片描述

    上面的目录结构就是Maven所谓的”约定“,我们使用Maven来构建Java项目,都是这种目录结构的…

    接下来我们来了解一下Mavaen一些常用的术语

    仓库

    本地仓库

    • Maven会把我们项目所构建出来的jar包等等资源存放在本地仓库中。当我们需要jar包的时候,Maven第一时间也是去本地仓库中寻找jar包

    中心仓库:

    -* 当Maven在本地仓库和私服找不到我们需要的jar包的时候,就去中心仓库中帮我们下载对应的jar包*。那Maven怎么知道去哪里下载呢??其实Maven已经配置好的了

    apache-maven-3.2.1libmaven-model-builder-3.2.1orgapachemavenmodel下的POM.xml文件中已经配置好了

      <repositories>
        <repository>
          <id>central</id>
          <name>Central Repository</name>
          <url>http://repo.maven.apache.org/maven2</url>
          <layout>default</layout>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
    
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <name>Central Repository</name>
          <url>http://repo.maven.apache.org/maven2</url>
          <layout>default</layout>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <releases>
            <updatePolicy>never</updatePolicy>
          </releases>
        </pluginRepository>
      </pluginRepositories>
    

    私有服务器

    • 存储一些jar包的服务器,由于本地仓库不可能拥有大部分的jar包,一个团队要去开发,免不了总是去中心仓库下载,这就非常耗费时间了。如果私有服务器拥有这些jar包,那么每台电脑就不用去中心仓库中下载了…

    maven软件构建的生命周期

    软件的生命周期就是以下

    -* 清除–> 编译–>测试–>报告–>打包(jarwar)–>安装–>部署*

    maven生命周期命令插件

    当我们使用idea环境下开发,maven生命周期的插件就非常清晰了…

    这里写图片描述

    maven坐标

    1. 坐标的组成: groupId + artifactId+ version

      • groupId:组id ,机构名,公司名:好比公司的id,或者是公司包名
        alibaba ——-》高德–》5.01版本
      • artifactId:构建物id ,产品名或者产品的id
      • version :版本号
    2. jar包组成:
      artifactId-version.jar

    pom.xml介绍

    pom.xml介绍 :project object model 项目对象模型 ,它是maven核心配置文件

    当我们把上面的术语了解完以后,对下面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>zhongfucheng3</groupId>
        <artifactId>zhongfucheng3</artifactId>
        <version>1.0-SNAPSHOT</version>
    
    
    </project>

    如果我们想要我们的项目能够有Junit测试的开发包,我们只要指定对应的jar包依赖就行了..

    这里写图片描述

    scope应用范围有test、compile等等,默认是compile,那么test和compile有什么区别呢?

    • 间接依赖问题 :依赖的jar包必须是 compile 范围,假如是test范围,则发布的jar包不会包含test范围依赖的jar包,和依赖关系
    
    <scope>test</scope>
  • 相关阅读:
    SpringMVC 拦截器
    Download And Uploader
    Spring 作用域传值
    Spring MVC 视图解析 VIEW
    SpringMVC自动注入
    cmake编译opencv4项目遇到opencv_found set to false问题
    vscode配置c++开发环境
    CMakeLists.txt样本
    mysql5.7高版本加载低版本sql文件,时间不能为0000-00-00格式错误
    log4j.properties配置
  • 原文地址:https://www.cnblogs.com/zhong-fucheng/p/7554360.html
Copyright © 2011-2022 走看看