maven项目结构管理统一项目配置操作

一、maven分模块开发

Maven 分模块开发

1.先创建父工程,pom.xml文件中,打包方式为pom
2.然后里面有许多子工程

3.我要对父工程的maven对所有子工程进行操作

 

二、解读maven的结构

 1.模块1

  <groupId>org.TS</groupId><artifactId>TruthSeer</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version>

 解读:

  1. <groupId>:这是项目的唯一标识符,通常是一个反向域名,用于在 Maven 仓库中唯一标识项目。在这里,org.TS 是项目的 Group ID。

  2. <artifactId>:这是项目的实际名称,用于在 Maven 仓库中唯一标识项目的构件(artifact)。在这里,TruthSeer 是项目的 Artifact ID。

  3. <packaging>:这是项目的打包类型。在 Maven 中,可以将项目打包成各种形式,例如 JAR、WAR 或者 POM。在这里,pom 表示该项目是一个聚合项目,只包含子模块,而不会生成实际的构件。

  4. <version>:这是项目的当前版本号。在这里,1.0-SNAPSHOT 表示项目处于开发阶段,并且尚未达到稳定版本。SNAPSHOT 版本表示正在积极开发中,可能会频繁地进行修改和发布。

 2.模块2

 

 <modules><module>TS-common</module><module>TS-feign-api</module><module>TS-service</module><module>TS-test</module><module>TS-gateway</module><module>TS-service/TS-others</module></modules>

 解读:

<module> :表示项目中的一个子模块

3.模块3 

  <!-- 继承 Spring Boot 父工程 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.2</version></parent>

解读:

 <parent> :指示该项目继承自 spring-boot-starter-parent

4.模块4:

<properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><elasticsearch.version>7.12.1</elasticsearch.version><tencent.sdk.cos.version>5.6.89</tencent.sdk.cos.version><tencent.sdk.vod.version>2.1.5</tencent.sdk.vod.version><xxl-job-version>2.3.1</xxl-job-version><seata-version>1.5.1</seata-version></properties>

解读:

<properties> :定义的属性用于定义依赖项的版本和项目中其他可重复使用的值。

 5.模块5

<dependencyManagement><dependencies><!-- Spring Cloud 依赖包管理 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>${xxl-job-version}</version></dependency></dependencies></dependencyManagement>

解读:

<dependencyManagement>:在这个部分中,声明的依赖项并不会直接被项目使用,而是用于统一管理项目中所有模块的依赖版本。这样可以确保项目中各个模块使用相同版本的依赖,避免版本冲突和管理混乱。通常情况下,这里声明的依赖版本会被子模块继承并使用,但并不会实际引入依赖。 

6.模块6

  <dependencies><!-- lombok 管理 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${org.projectlombok.version}</version></dependency><!--单元测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--开启bootstrap文件读取--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency></dependencies>

解读:

 <dependencies>:这个部分中声明的依赖项是项目实际使用的依赖。这些依赖项会被直接引入到项目中,并在编译、运行时使用。这部分中声明的依赖不仅包括第三方库,还包括项目内部需要的模块或组件。用于声明使用的实际依赖

 

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

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

相关文章

黑马点评-分布式锁业务

分布式锁原理和实现 分布式系统部署了多个tomcat&#xff0c;每个tomcat都有一个属于自己的jvm&#xff0c;那么假设在服务器A的tomcat内部&#xff0c;有两个线程&#xff0c;这两个线程由于使用的是同一份代码&#xff0c;那么他们的锁对象是同一个&#xff0c;是可以实现互…

智能dns服务器、自建DNS服务器、自架DNS服务器、DNS分流

smart安装链接 [https://github.com/pymumu/smartdns/releases](https://github.com/pymumu/smartdns/releases)wget https://github.com/pymumu/smartdns/releases/download/all-best-ip/smartdns.1.2022.05.03-1046.x86_64-linux-all.tar.gz[rootlocalhost ~]# ls anaconda-k…

前端面试实战补丁24.3.7

1.CSS的position属性 在CSS中&#xff0c;position属性用于指定元素的定位方式。position属性有以下几个可能的值&#xff1a; static&#xff1a; 默认值。元素按照文档流进行定位&#xff0c;不会被特别地定位&#xff0c;也不会受到top、right、bottom、left或z-index属性的…

2024 PhpStorm激活,分享几个PhpStorm激活的方案

文章目录 PhpStorm 公司简介我这边使用PhpStorm的理由PhpStorm 2023.3 最新变化AI Assistant 预览阶段结束 正式版基于 LLM 的代码补全测试代码生成编辑器内代码生成控制台中基于 AI 的错误解释 Pest 更新PHP 8.3 支持#[\Override] 特性新的 json_validate() 函数类型化类常量弃…

effective c++ 笔记 条款41-46

条款41&#xff1a;了解隐式接口和编译器多态 显式接口和运行期多态&#xff1a; 面向对象的世界总是以显式接口和运行期多态解决问题 显式接口的构成&#xff1a; 函数名称&#xff0c;参数类型&#xff0c;返回类型&#xff0c;常量性也包括编译器产生的copy构造函数和copy …

142.环形链表II

142.环形链表II 力扣题目链接(opens new window) 题意&#xff1a; 给定一个链表&#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 为了表示给定链表中的环&#xff0c;使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;索引从 0…

Linux性能分析之CPU实战

本课程专注于教授学员如何利用各种工具和技术来分析Linux系统中的CPU性能问题。通过实际操作和案例研究&#xff0c;学员将深入了解CPU性能优化和故障排除&#xff0c;提升其在Linux环境下的技能水平。 课程大小&#xff1a;1.9G 课程下载&#xff1a;https://download.csdn.…

例行性工作(at,crontab)

目录 单一执行的例行性工作at 语法 选项 时间格式 at的工作文件存放目录 at工作的日志文件 实例 命令总结&#xff1a; 循环执行的例行性工作crond 语法 选项 crontab工作调度对应的系统服务 crontab工作的日志文件 用户定义计划任务的文件所在目录 动态查看 crontab文件格式 文…

js拓展-内置对象

目录 1. 数组对象 1.1 数组的四种方式 1.2 JS中数组的特点 1.3 常用方法 2. 日期对象 2.1 日期对象的创建 2.2 日期对象的方法 2.3 案例&#xff1a;输出现在的时间 3. 全局对象 3.1 字符串转换成数字类型 3.2 编码解码函数 1. 数组对象 注&#xff1a;数组在JS中是一…

企业如何进行数据分析,实现科学决策和业务增长

在当今信息时代&#xff0c;数据已经成为企业运营和发展的重要资源。企业拥有大量的数据&#xff0c;包括但不限于销售数据、客户数据、市场数据、企业内部管理数据等等&#xff0c;这些数据记录了企业的运营状况和业务发展情况。但是&#xff0c;这些数据如果不进行分析和利用…

尤雨溪:Vue 未来展望新的一轮

十年&#xff0c;一个既漫长又短暂的时光跨度&#xff0c;对于技术世界来说&#xff0c;更是沧海桑田的瞬间。在这十年里&#xff0c;Vue.js 从无到有&#xff0c;从默默无闻到蜚声全球&#xff0c;不仅改变了前端开发的面貌&#xff0c;更成为了无数开发者手中的得力工具。 在…

软件开发未来发展方向

传统的软件开发行业未来的趋势将会是更加自动化和智能化。随着人工智能和机器学习技术的发展&#xff0c;软件开发过程中的一些重复性、繁琐的工作将会被自动化取代&#xff0c;从而提高开发效率和质量。同时&#xff0c;随着物联网、大数据和云计算等技术的成熟&#xff0c;软…

react项目请求无法自动携带上一次请求的JSESSIONID

存在问题 页面依次发起多次请求&#xff0c;服务端会根据有无携带Set-Cookie从而生成新的JSESSIONID返回&#xff0c;前端需要在后续请求自动携带该值&#xff08;浏览器行为&#xff0c;无需代码控制&#xff09; 但目前的情况为&#xff1a;前端请求无法自动携带&#xff0c;…

建图以及DFS、BFS模板

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ &#x1f440;&#x1f440;&#x1f440; 个人博客&#xff1a;小奥的博客 &#x1f44d;&#x1f44d;&#x1f44d;&#xff1a;个人CSDN ⭐️⭐️⭐️&#xff1a;传送门 &#x1f379; 本人24应届生一枚&#xff0c;技术和水平有限&am…

蓝桥杯---列名

题目链接&#xff1a;列名 直接模拟出来了 import java.math.BigInteger; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public class Main {public static void main(String[] args) {StringBuilder snew String…

高效实用|ChatGPT指令/提示词/prompt/AI指令大全,基础版

大家好&#xff0c;我是淘小白~ 整理了一些关于chatpgt的指令文档分享给大家~ 如果对你有用记得点赞、关注、收藏哦~ 基础版指令主要用于简单任务和场景&#xff0c;英语翻译&#xff0c;发散问答&#xff0c;文章故事写作&#xff0c;周报生成等&#xff0c;在使用过程中&a…

Pytest教程:详解Pytest的三种多级断言方法

当涉及到测试代码时&#xff0c;多级断言可以提供更全面的测试覆盖&#xff0c;并且允许开发者一次性检查多个方面的代码行为。在 Pytest 中&#xff0c;有三种主要的方式来实现多级断言&#xff1a;使用多个普通的 assert 语句、使用 pytest-assume 插件以及使用 pytest-check…

【RT-DETR有效改进】全新的SOATA轻量化下采样操作ADown(轻量又涨点,附手撕结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块,其中YOLOv9针对于这个模块并没有介绍,只是在其项目文件中用到了,我将其整理出来用于我们的RT-DETR的项目,经过实验我发现该卷积模块(作为下采样模块)…

Node:解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案

问题描述&#xff1a; 报错&#xff1a;Error: error:0308010C:digital envelope routines::unsupported 报错原因&#xff1a; 主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制&#xff0c;nodeJs v17 之前版本没影响&#xff0c…

多路归并总结

1.鱼塘钓鱼 1262. 鱼塘钓鱼 - AcWing题库 多路归并的模型。 对于每个鱼塘构成的等差数列&#xff0c;我们每次在数列最头部进行选择&#xff0c;选完后再顺延到下一个数即可。我们可以通过维护一个包含所有等差序列首元素的大根堆&#xff0c;使每次可以很容易地选出最大的数…