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范围的依赖复制到指定目录。
相关推荐
南极星100516 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
消失的旧时光-194316 小时前
第十三课:权限系统如何设计?——RBAC 与 Spring Security 架构
java·架构·spring security·rbac
不能隔夜的咖喱16 小时前
牛客网刷题(2)
java·开发语言·算法
serve the people16 小时前
python环境搭建 (十二) pydantic和pydantic-settings类型验证与解析
java·网络·python
lekami_兰16 小时前
Java 并发工具类详解:4 大核心工具 + 实战场景,告别 synchronized
java·并发工具
有位神秘人16 小时前
Android中Notification的使用详解
android·java·javascript
tb_first17 小时前
LangChain4j简单入门
java·spring boot·langchain4j
独自破碎E18 小时前
【BISHI9】田忌赛马
android·java·开发语言
范纹杉想快点毕业18 小时前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
smileNicky18 小时前
布隆过滤器怎么提高误差率
java