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.hqwc.cn/news/520406.html

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

相关文章

管理 PostgreSQL 中配置参数的各种方法

管理 PostgreSQL 中配置参数的各种方法 1. 概述 PostgreSQL提供了一个配置文件 postgresql.conf 让用户自定义参数。您可能需要更改一些参数来调整性能或在工作环境中部署 PostgreSQL 服务器。在这篇博文中&#xff0c;我们将探索管理这些参数的不同方法。 2. 以不同方式管理…

【MySQL 系列】MySQL 起步篇

MySQL 是一个开放源代码的、免费的关系型数据库管理系统。在 Web 开发领域&#xff0c;MySQL 是最流行、使用最广泛的关系数据库。MySql 分为社区版和商业版&#xff0c;社区版完全免费&#xff0c;并且几乎能满足全部的使用场景。由于 MySQL 是开源的&#xff0c;我们还可以根…

python创建和上传自己的PyPI库

文章目录 创建和上传自己的PyPI库pypi准备文件制作PyPI包在上传前&#xff0c;先本地验证注册PyPI账户上传pypi判断python包质量之 SourceRankLibraries.io 参考 创建和上传自己的PyPI库 pypi 官方地址&#xff1a;https://pypi.org/ Python中我们经常会用到第三方的包&…

第一次捡垃圾

配置 cpu e3 1225 v6 淘宝 130 显卡 p106-100(1060矿卡的特称) 咸鱼 118 内存 8g 3200频率 2 咸鱼 702140 硬盘 128g 固态 咸鱼 35 主板 ex-b150m-v3 咸鱼 110 电源 400w 咸鱼 58 4热管cpu散热器 咸鱼 28 机箱 迷你 拼多多 28 电源线 1m5 淘宝 8 pcie转m.2 拼多多 9 编程器 用…

2.类和对象-运算符重载

文章目录 运算符重载1.运算符重载2.<<运算符重载3.运算符重载4.运算符重载5.和!运算符重载6.()运算符重载 运算符重载 1.运算符重载 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string>using namespace std;class Person { public:/*类…

纯css实现太极八卦图

感觉最近好像闯鬼了&#xff0c;赶紧写个八卦图避避邪&#xff0c;开玩笑了&#xff0c;不废话&#xff0c;上菜&#xff0c;看效果上代码。 效果 代码&#xff0c;你们都是大佬&#xff0c;这里就不解释代码了 &#xff08;hover会转动喔&#xff09;。 <!DOCTYPE html&g…

【netty系列-02】深入理解socket本质和BIO底层实现

Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478 深入理解socket本质和bio底层实现 …

Go编译报错 link: running gcc failed: exit status 1(已解决)

背景 在对一个开源的Go程序二次开发 重新编译时 &#xff0c; 报错截图如下 报错文字如下&#xff1a;关键信息 link: running gcc failed: exit status 1 $ go build -o orchestrator-didi -i go/cmd/orchestrator/main.go go build: -i flag is deprecated # command-li…

Lego-loam 算法三维建图

运行环境 Linux&#xff1a;Ubuntu18.04ros&#xff1a;MelodicCeres Solver 2.0.0&#xff08;Ubuntu18.04安装Ceres&#xff09;PCL 1.8.1&#xff08;Ubuntu系统的PCL、Eigen卸载和安装&#xff09; 运行数据集 lego-loam 39/39 终端一&#xff1a;进入catkin_ws工作空间…

【Flink网络数据传输】OperatorChain的设计与实现

文章目录 1.OperatorChain的设计与实现2.OperatorChain的创建和初始化3.创建RecordWriterOutput 1.OperatorChain的设计与实现 OperatorChain的大致逻辑 在JobGraph对象的创建过程中&#xff0c;将链化可以连在一起的算子&#xff0c;常见的有StreamMap、StreamFilter等类型的…

字符函数

1.字符分类函数 专门做字符分类的函数&#xff0c;都包含一个头文件#include <ctype.h> islower() 是一个用于判断字符是否为小写字母的函数。 通常情况下&#xff0c;如果一个字符是小写字母&#xff0c;则 islower() 函数会返回 true 或者一个表示真的值&#xff08…

【变量提升】关于JavaScript变量提升的理解,它导致了什么问题?

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;JavaScript小贴士 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要的是继续…