当前位置: 首页 > news >正文

pom文件-微服务项目结构

一、微服务项目结构

my-microservices-project/
├── pom.xml  <!-- 父模块的pom.xml -->
├── ry-system/
│   ├── pom.xml  <!-- 子模块ry-system的pom.xml -->
│   └── src/main/java/com/example/rysystem/
│       └── RySystemApplication.java  <!-- ry-system的启动类 -->
├── ry-task/
│   ├── pom.xml  <!-- 子模块ry-task的pom.xml -->
│   └── src/main/java/com/example/rytask/
│       └── TaskScheduler.java  <!-- 定时任务的类 -->
└── ...

1、所有的子模块都继承自父模块。子模块parent继承后,子模块不需要重新引入父模块的依赖,parent自动继承会加入进去。
2、子模块引入其它子模块时,依赖不会自动传递,每个子模块需要定义自己的依赖。

3、启动类模块需要通过<dependency引入所有的子模块,才能加载其它子模块的bean。
4、注意:mappers文件和xml,需要保持相同的包路径,同时扫描需要使用classpath*。
classpath*可以扫描所有的子模块类路径下的文件。
classpath则只扫描当前类路径下的文件

二、pom文件配置

1、项目基本信息

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-project</artifactId><version>1.0.0</version><packaging>jar</packaging><name>My Project</name><description>This is my Maven project.</description>
</project>

groupId:项目组织或公司的唯一标识符。
artifactId:项目的唯一标识符。
version:项目的版本号。
packaging:项目的打包方式,如 jar、war、pom 等。
name:项目的名称。
description:项目的描述信息。

2、依赖管理

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.7.0</version></dependency><!-- 其他依赖 -->
</dependencies>

<dependencies:声明项目的依赖。
每个 <dependency 元素指定一个依赖的 groupId、artifactId 和 version。
3、插件配置

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><!-- 其他插件 --></plugins>
</build>

<build:定义项目的构建配置。
<plugins:声明项目使用的插件。
每个 <plugin 元素指定一个插件的 groupId、artifactId 和 version,并可以配置插件的参数(如上述例子中的 maven-compiler-plugin 的 Java 版本)。

http://www.lryc.cn/news/390221.html

相关文章:

  • 解析Kotlin中的Nothing【笔记摘要】
  • toRefs 和 toRef
  • Vision Transformer论文阅读笔记
  • MapReduce的执行流程排序
  • 雅思词汇及发音积累 2024.7.3
  • Vue2和Vue3的区别Vue3的组合式API
  • ML307R OpenCPU HTTP使用
  • 【状态估计】线性高斯系统的状态估计——离散时间的递归滤波
  • 架构设计上中的master三种架构,单节点,主从节点,多节点分析
  • 如何在 SQL 中删除一条记录?
  • JavaSE (Java基础):面向对象(上)
  • flink使用StatementSet降低资源浪费
  • FineDataLink4.1.9支持Kettle调用
  • SwanLinkOS首批实现与HarmonyOS NEXT互联互通,软通动力子公司鸿湖万联助力鸿蒙生态统一互联
  • Win11禁止右键菜单折叠的方法
  • Maven列出所有的依赖树
  • 测试开发面试题和答案
  • llm学习-3(向量数据库的使用)
  • 【01-02】Mybatis的配置文件与基于XML的使用
  • Linux-进程间通信(IPC)
  • C++ STL: std::vector与std::array的深入对比
  • 哈哈看到这条消息感觉就像是打开了窗户
  • 10、matlab中字符、数字、矩阵、字符串和元胞合并为字符串并将字符串以不同格式写入读出excel
  • 如何正确面对GPT-5技术突破
  • HarmonyOS ArkUi 官网踩坑:单独隐藏导航条无效
  • 解决跨域问题(vite、axios/koa)
  • echarts实现3D柱状图(视觉层面)
  • K8S集群进行分布式负载测试
  • 20.《C语言》——【移位操作符】
  • 你想活出怎样的人生?