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范围的依赖复制到指定目录。
相关推荐
带刺的坐椅2 分钟前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·ai·llm·agent·solon-ai
c238565 分钟前
互斥锁高频面试题全解:从基础概念到底层实现,一文通关
java·c++·面试·职场和发展
error:(43 分钟前
【系统与实战双精通】VS Code 调试 ROS2 Python 节点与 Launch 系统指南
android·java·python
Tian_Hang1 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
小蓝波2 小时前
docker 的命令
java·docker·容器
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第155题】【06_Spring篇】第15题:Spring 如何解决循环依赖问题?
java·spring·循环依赖·三级缓存·aop代理
唐青枫2 小时前
Java Maven 实战指南:从 POM、依赖管理到多模块构建
java
硕风和炜2 小时前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索
SamDeepThinking3 小时前
面向对象真正管理的,不是对象,而是依赖
java·后端·程序员
剑挑星河月3 小时前
94.二叉树的中序遍历
java·算法·leetcode