每日 12

news/2025/3/26 18:36:13/文章来源:https://www.cnblogs.com/lzq233/p/18790247

Maven 是一个强大的项目管理和构建工具,广泛应用于Java项目:

  1. 核心概念
    项目对象模型 : pom.xml 是 Maven 的核心配置文件,定义项目坐标(groupId, artifactId, version)、依赖、插件、构建配置等。
    约定优于配置: 默认目录结构(如 src/main/java 存放源码,src/test/java 存放测试代码),减少配置量。
    生命周期与阶段:
    clean(清理)、default(构建与部署)、site(文档生成)三大生命周期。
    常用阶段:compile, test, package, install, deploy。执行某阶段会触发其之前的所有阶段。

  2. 依赖管理
    坐标定位: 通过 groupId、artifactId、version 唯一标识依赖。
    依赖范围 (Scope):
    compile(默认,参与所有阶段)、provided(运行时由环境提供,如 Servlet API)、test(仅测试阶段)、runtime(运行时需要,如 JDBC 驱动)。
    依赖传递与冲突:
    依赖调解原则: 路径最近优先、声明顺序优先。
    使用 exclusion 排除冲突依赖,或通过 dependencyManagement 统一版本。

  3. 仓库机制
    本地仓库: 默认位于 ~/.m2/repository,缓存下载的依赖。
    远程仓库:
    中央仓库 (repo.maven.apache.org) 是默认源。
    镜像仓库(如阿里云镜像)可加速访问。
    私有仓库(Nexus/Artifactory)用于企业内部依赖管理。

  4. 多模块管理
    父 POM: 使用 pom 定义公共配置,子模块通过 继承。
    依赖管理: 父 POM 中通过 统一定义版本,子模块引用时无需指定版本。
    聚合模块: 通过 聚合子模块,实现一键构建。

  5. 插件与扩展
    内置插件: 如 maven-compiler-plugin(编译)、maven-surefire-plugin(测试)、maven-shade-plugin(打包包含依赖的 Fat Jar)。
    自定义插件: 可绑定到生命周期阶段,扩展构建流程。
    插件配置: 例如指定 JDK 版本或跳过测试:

org.apache.maven.pluginsmaven-compiler-plugin1.81.8
  1. 常用命令
    mvn clean: 清理 target 目录。
    mvn compile: 编译主代码。
    mvn test: 运行单元测试。
    mvn package: 打包项目(JAR/WAR)。
    mvn install: 安装到本地仓库。
    mvn deploy: 部署到远程仓库。
    mvn dependency:tree: 分析依赖树,排查冲突。

  2. 高级特性
    Profile: 按环境(开发/生产)激活不同配置,支持条件激活(如操作系统、文件存在)。
    属性替换: 使用 ${property} 引用变量,如统一版本号管理。
    资源过滤: 结合 profile 动态替换配置文件中的变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/904991.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

17.指针

正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用 & 运算符访问的地址,它表示了在内存中的一个地址。 请看下面的实例,它将输出定义的变量地址:#include <stdio.h>int main(){int var_runoob = 10;int *p; //定义指针变量p = &var…

3.24 学习记录

实现了学习记录APP的登录注册功能

2025西安交大集训Day2:DFS,BFS记忆化搜索,迭代加深搜索,二分搜索

2025西安交大集训Day2:DFS,BFS记忆化搜索,迭代加深搜索,二分搜索

掌握 Postman:高级 GET 请求技术与响应分析

欢迎阅读本指南,它将详细介绍如何在 Postman 中发送 GET 请求并理解 API 响应。对于希望提升 API 测试和开发能力的开发者来说,这是不可或缺的技能。 Postman 对开发者的重要性Postman 是 API 开发和测试中不可或缺的工具。它不仅简化了发送请求和分析响应的过程,还提供了一…

带你一起来熟悉linux文件权限体系

了解 Linux 文件权限对于有效且可靠的linux相关系统管理和安全管理至关重要。通过本文中概述的概念并加以实践,您将可以轻松浏览文件权限并确保 Linux 系统的完整,可靠和安全。下面将从权限的格式,常用设置,修改,解析等方面分别说明。 A).Linux 文件权限由三个权限部分组成…

OP100自动安装背板常见问题

1.运行过程中切手动,回原灯一直闪烁,始终无法执行完成 OP50自动安装座板 OP100自动安装背板 OP280自动安装上盖 这几个工站因为有记忆功能,会记住当前步序以及夹爪/吸盘上有没有物体,如果运行中切换手动,并动了气缸,会导致逻辑错乱,类似升降器的SUB40,遇到这种情况: 1…

20244217 2024-2025-2 《Python程序设计》实验一报告

学号 2024-2025-2 《Python程序设计》实验一报告 课程:《Python程序设计》 班级: 2442 姓名: 胡峻豪 学号:20244217 实验教师:王志强 实验日期:2025年3月24日 必修/选修: 公选课 1.实验内容 1.熟悉Python开发环境。首先在官网下载并安装PyCharm专业版,安装完成后打开软…

软件工程日报15

Android studio 实现连接远程mysql数据库,并将数据展示出来,由于之前没接触过,全靠按照博客上的指导和ai生成的代码,之后在学习一下 以下是效果

《Python程序设计》实验一报告

课程:《Python程序设计》 班级: 2441 姓名: 王晓凤 学号:20244127 实验教师:王志强 实验日期:2025年3月24日 必修/选修: 公选课 一.实验内容 1.熟悉Python开发环境:本次实验使用了PyCharm。首先在官网下载并安装PyCharm社区版,安装完成后打开软件,创建一个新的Pytho…

抽象bug:mybatis-xml配置错误(configuration and configLocation can not specified with together)

mybatis-xml配置错误(configuration and configLocation can not specified with together) 操作 我在使用mybatis-XML映射配置时,没有将mappper的xml文件放在同名同包的路径下,而是使用辅助配置,在配置文件中设置XML路径.然而,在配置文件后,没有成功,一直报错. 错误信息:"…

关于pytorch中直接调用对象

基于之前有C++基础,对于python中的一些函数的用法总会有些疑问。 例如,为什么python可以直接调用对象,而不是调用对象里的函数呢? 以下为包含__call__函数的类的调用 除此之外, 在PyTorch 中,所有继承自 nn.Module 的类都继承了一个特殊的 call() 方法。 # 使用ToTensor创…