Maven 核心配置有哪些

Maven 核心配置

  1. 项目依赖管理

    • 依赖传播:自动将所有依赖节点加入到项目classpath。
    • 依赖优先原则:解决依赖冲突,优先选择最短路径的版本。
  2. 依赖特性

    • 可选依赖:通过<optional>true</optional>标记,表示依赖不是必须的。
    • 排除依赖:使用<exclusions>标签排除间接依赖。
  3. 依赖范围

    • compile:默认范围,编译和打包时都依赖。
    • provided:编译时依赖,打包时不包含。
    • runtime:运行时依赖,编译时不依赖,打包时包含。
    • test:仅用于测试,编译和运行测试用例时依赖,不打包。
    • system:依赖于系统路径中的jar,不包含在最终打包中。
  4. 手动加入本地仓库

    • 使用mvn install:install-file命令将本地jar包安装到Maven仓库。
  5. 项目聚合与继承

    • 聚合:通过父工程统一构建多个模块。
    • 继承:子工程继承父工程的配置,避免重复。
  6. 依赖管理

    • 在父工程中使用<dependencyManagement>声明依赖,子工程中引入。
  7. 项目属性

    • 使用<properties>配置属性参数,简化配置。
  8. 构建配置

    • 资源配置:定义资源文件的位置和过滤规则。
    • 构建资源:配置构建过程中的资源文件和目标路径。

Maven 常用属性

  • ${basedir}:项目根目录。
  • ${version}:项目版本。
  • ${project.build.directory}:构建目录,默认为target
  • ${project.build.sourceEncoding}:源码编码格式。
  • ${project.build.sourceDirectory}:源码路径。
  • ${project.build.finalName}:输出文件名称。
  • ${project.build.outputDirectory}:构建输出目录,默认为target/classes

Maven 插件使用示例

  • maven-dependency-plugin:用于将system范围的依赖复制到指定目录。
相关推荐
遇事不决问清风10 小时前
AI 驱动开发实战复盘:从 0 到上线,一个真实项目的工程化总结
java·ai编程
wuqingshun31415910 小时前
说说进程和线程的区别?
java·开发语言·jvm
Memory_荒年11 小时前
自定义 Spring Boot Starter:手搓“轮子”,但要搓出兰博基尼!
java·后端
栈外11 小时前
我是IDEA重度用户,试了4款AI编程插件:有一款有并发Bug,有一款越用越香
java·后端
架构师沉默11 小时前
为什么说 Go 做游戏服务器就有人皱眉?
java·后端·架构
a56299161911 小时前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
秃了也弱了。11 小时前
ElasticSearch:优化案例实战解析(持续更新)
android·java·elasticsearch
一叶落43812 小时前
LeetCode 54. 螺旋矩阵(C语言详解)——模拟 + 四边界收缩
java·c语言·数据结构·算法·leetcode·矩阵
最初的↘那颗心12 小时前
Prompt 工程实战:五要素框架与 Spring AI 模板化落地
java·大模型·prompt工程·spring ai·ai应用开发