zoukankan      html  css  js  c++  java
  • 【Java】Maven

    maven 提供了固定的项目结构,更加容易导入依赖(只需要在pom.xml文件中配置)

    依赖管理

    • groupId 类似于Java的包名,通常是公司或组织名称
    • artifactId 类似于Java的类名,通常是项目名称
    • version 版本号

    一个Maven工程就是由groupIdartifactIdversion作为唯一标识。我们在引用其他第三方库的时候,也是通过这3个变量确定,如下

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
    </dependency>

    使用<dependency>声明一个依赖后,Maven就会自动下载这个依赖包并把它放到classpath中

    如果项目依赖 abc,abc又依赖fe,我们只需要 配置依赖abc jar包即可,maven会自动把依赖的fe jar包导入

    maven下载过jar包之后,会永久安全的存在本地缓存中,不用每次都加载

    搜索第三方组件:https://search.maven.org/,在这个网址搜索的组件 可以获取到 groupIdartifactIdversion,如下搜索 log4j


    maven构建流程

    几个术语:lifecycle、phase、goal

    lifecycle:maven的生命周期

    phase:maven生命周期的各个阶段,如 validate、initialize、compile、test、package、verify、install等等

    goal:执行一个phase又会触发一个或多个goal

    概括:

    lifecycle相当于Java的package,它包含一个或多个phase;

    phase相当于Java的class,它包含一个或多个goal;

    goal相当于class的method,它其实才是真正干活的

    大多数情况,我们只要指定phase,就默认执行这些phase默认绑定的goal,只有少数情况,我们可以直接指定运行一个goal,例如,启动Tomcat服务器:mvn tomcat:run


  • 相关阅读:
    Springboot + Caffeine 实现本地缓存
    springboot + mybatis-plus + sharding-jdbc 实现单库分表
    工厂模式+策略模式 使用
    JAVA 金额自动除以100,精确到分
    spring aop + 自定义注解实现本地缓存
    springboot 使用 retry重试机制
    Mybatis-plus 自动注入公共字段
    docker 安装kafka
    ES 实现聚合分页
    Authentication token manipulation error 及 mongodb WiredTigerLAS.wt 文件过大问题
  • 原文地址:https://www.cnblogs.com/lwj-0923/p/14738433.html
Copyright © 2011-2022 走看看