Maven 核心配置
-
项目依赖管理
- 依赖传播:自动将所有依赖节点加入到项目classpath。
- 依赖优先原则:解决依赖冲突,优先选择最短路径的版本。
-
依赖特性
- 可选依赖:通过
<optional>true</optional>
标记,表示依赖不是必须的。 - 排除依赖:使用
<exclusions>
标签排除间接依赖。
- 可选依赖:通过
-
依赖范围
compile
:默认范围,编译和打包时都依赖。provided
:编译时依赖,打包时不包含。runtime
:运行时依赖,编译时不依赖,打包时包含。test
:仅用于测试,编译和运行测试用例时依赖,不打包。system
:依赖于系统路径中的jar,不包含在最终打包中。
-
手动加入本地仓库
- 使用
mvn install:install-file
命令将本地jar包安装到Maven仓库。
- 使用
-
项目聚合与继承
- 聚合:通过父工程统一构建多个模块。
- 继承:子工程继承父工程的配置,避免重复。
-
依赖管理
- 在父工程中使用
<dependencyManagement>
声明依赖,子工程中引入。
- 在父工程中使用
-
项目属性
- 使用
<properties>
配置属性参数,简化配置。
- 使用
-
构建配置
- 资源配置:定义资源文件的位置和过滤规则。
- 构建资源:配置构建过程中的资源文件和目标路径。
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
范围的依赖复制到指定目录。