Maven学习

相关概念

依赖配置:

依赖指当前项目运行需要的 jar,一个项目可以设置多个依赖

依赖传递:

直接依赖

在当前项目中通过依赖配置建立的依赖关系

间接依赖

当前项目直接依赖资源(比如A), 而A又依赖资源(B),可以说当前项目间接依赖资
源(B)

依赖冲突

1.路径优先∶当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级
越高
2.声明优先∶当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
3.特殊优先∶当同级配置了相同资源的不同版本,后配置的覆盖先配置的

可选依赖

可选依赖指对外隐藏当前所依赖的资源
<optional>true</optional>
默认是 false , 即不隐藏,设置为 true , 即隐藏。

排除依赖

排除依赖指主动断开依赖的资源, 被排除的资源无需指定版本

<exclusions>
  <exclusion>
    <groupId></groupId>
    <artifactId></artifactId>
  </exclusion>
</exclusions>

依赖范围

依赖的 jar 默认情况可以在任何地方使用, 通过 scope 标签设定其作用范围

<scope>compile</scope>

Maven 项目构建生命周期

生命周期的 3 大阶段

1、 clean∶清理工作

2、default∶核心工作,例如编译,测试,打包,部署等

3、site∶产生报告,发布站点等

maven 插件

插件与生命周期内的某个阶段绑定,在执行到对应生命周期时, 由对应插件来完成任务/功能
maven插件: http://maven.apache.org/plugins/index.html

<!--在 build 时,自定义的插件 -->
<build>
  <plugins>
    <plugin>
      <!-- 插件坐标 -->
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-source-plugin</artifactId>
      <version>2.2.1</version>
      <executions>
        <execution>
          <goals>
            <!-- 对主程序输出源码打包 -->
            <goal>jar</goal>
            <!-- 对测试程序输出源码打包 -->
            <goal>test-jar</goal>
          </goals>
          <!-- 在 generate-test-resources 阶段执行 
            根据maven生命周期-->
          <phase>generate-test-resources</phase>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
posted @   必行之码  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示