[SpringBoot]创建聚合项目

news2024/11/28 20:36:59

首先,创建父级项目:
 

 

 因为手动添加依赖,以下只选版本不打钩

 

 因为父项目不写代码,所以删除src

 

调整pom.xml文件(并刷新maven),如下:

<?xml version="1.0" encoding="UTF-8"?>
<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.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <!-- 模块版本,是相对固定的取值 -->
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <modules>
        <module>untitled</module>
    </modules>

    <!-- 父级项目,其实,每个基于Spring Boot的项目,都应该是spring-boot-starter-parent的子项目 -->
    <!-- 本次建议使用 2.5.x 系列的版本 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <!-- 当前项目的信息 -->
    <groupId>cn.tedu</groupId>
    <artifactId>csmall-server</artifactId>
    <version>0.0.1</version>

    <!-- 父项目配置packaging为pom -->
    <!-- 此标签的默认值是jar,各子级项目可以不必配置此标签 -->
    <packaging>pom</packaging>

    <!-- 子级模块项目清单 -->
    <modules>
         <module>csmall-product</module>
    </modules>

    <!-- 属性配置 -->
    <!-- 可以自定义所需的配置 -->
    <properties>
        <java.version>1.8</java.version>
        <spring-boot.version>2.5.0</spring-boot.version>
    </properties>

    <!-- 依赖管理 -->
    <!-- 配置在此标签下的各依赖,不会被各子项目继承 -->
    <!-- 依赖管理主要是管理各依赖项的版本,各项目添加此处配置的依赖项时不必指定版本号 -->
    <dependencyManagement>
        <dependencies>
            <!-- Spring Boot的基础依赖项 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
                <version>${spring-boot.version}</version>
            </dependency>
            <!-- Spring Boot测试的依赖项 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <version>${spring-boot.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- 当前项目使用的依赖项 -->
    <!-- 在父项目中配置的依赖项,各子项目均可以直接继承得到,即:子项目不需要添加这些依赖 -->
    <dependencies>
    </dependencies>

</project>

 

完成后,对父级项目点击鼠标右键,选择New > Module以创建子级项目模块,先创建csmall-product,它是用于处理商品数据管理的:

 

调整pom文件

关于这个子项目,主要配置:

  • 使用csmall-server作为父项目

  • 添加依赖项

具体配置为:

<?xml version="1.0" encoding="UTF-8"?>
<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.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <!-- 模块版本,是相对固定的取值 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- 父级项目 -->
    <parent>
        <groupId>cn.tedu</groupId>
        <artifactId>csmall-server</artifactId>
        <version>0.0.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <!-- 当前项目的信息 -->
    <groupId>cn.tedu</groupId>
    <artifactId>csmall-product</artifactId>
    <version>0.0.1</version>

    <!-- 当前项目使用的依赖项 -->
    <dependencies>
        <!-- Spring Boot的基础依赖项 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- Spring Boot测试的依赖项 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- 构建项目的配置 -->
    <!-- 如果此处的配置报错,可以: -->
    <!-- 1. 删除报错的标签,因为,除非你需要将项目打包,否则,可以不需要此处的配置 -->
    <!-- 2. 显式的指定版本号可能可以解决报错的问题 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

 

 聚合项目形式

 

 

关于依赖项的作用域

在配置依赖项时,可以通过<scope>指定此依赖项的作用域,例如:  

<!-- Spring Boot测试的依赖项 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

关于<scope>的配置值:

  • test:此依赖项仅用于测试,仅作用于src/test下的代码,并且,当项目编译打包时,不会被打包

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

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

相关文章

如何入门渗透测试

1. 什么是渗透测试 渗透测试就是模拟真实黑客的攻击手法对目标网站或主机进行全面的安全评估&#xff0c;与黑客攻击不一样的是&#xff0c;渗透测试的目的是尽可能多地发现安全漏洞&#xff0c;而真实黑客攻击只要发现一处入侵点即可以进入目标系统。 一名优秀的渗透测试工程…

Flink SQL之Regular Joins

1.Regular Joins&#xff08;双流join&#xff09; 双流join是最通用的联接类型&#xff08;支持 Batch\Streaming&#xff09;&#xff0c;其中任何新记录或联接两侧的更改都是可见的&#xff0c;并影响整体的Join结果。 特点&#xff1a; 对于流式查询&#xff0c;双流join…

深入分析 OpenShift 内部 DNS

深入分析 OpenShift 内部 DNS OpenShift 中的DNS 相关组件及其配置1.1 Pod 中的 DNS 配置1.2 Pod 所在宿主机上的 DNS 配置及服务1.2.1 resolv.conf 文件 DNS 配置DNS 查询流程为什么需要内部 DNS&#xff1f; 本文基于 OpenShift 3.11&#xff0c;Kubernetes 1.11 进行测试 O…

Linux服务器禁止密码登录,设置秘钥登录

生成SSH密钥 (客户机端) 执行ssh-keygen -t rsa命令创建RSA密钥对&#xff0c;执行结果如下(键入3次回车)&#xff1a; [rootnode01 .ssh]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): [回车] En…

【十五】设计模式~~~行为型模式~~~状态模式(Java)

【学习难度&#xff1a;★★★☆☆&#xff0c;使用频率&#xff1a;★★★☆☆】 4.1. 模式动机 在很多情况下&#xff0c;一个对象的行为取决于一个或多个动态变化的属性&#xff0c;这样的属性叫做状态&#xff0c;这样的对象叫做有状态的(stateful)对象&#xff0c;这样的…

向后切片,正向切片和其他形式的切片

向后切片,正向切片和其他形式的切片 向后切片Backward Slices 假设我们希望确定哪些语句影响节点 n。 这是由 n 和在 n 处引用的变量。 我们只是&#xff1a; 从 n 回溯控制和流依赖边。 我们保留由此到达的节点。 一般后向切片 通常&#xff0c;我们的切片标准是一个节点和一…

【CMake 入门与进阶(1)】一个例子搞懂什么是CMakeLists——从“Hello World”开始(附代码)

在前面两篇内容中&#xff0c;我们编写了很多示例程序&#xff0c;但这些示例程序都只有一个.c 源文件&#xff0c;非常简单。因此&#xff0c;编译这些示例代码其实都非常简单&#xff0c;直接使用 GCC 编译器编译即可&#xff0c;连 Makefile 都不需要。但是&#xff0c;在实…

中国人民大学与加拿大女王大学金融硕士项目——在职攻读金融硕士,努力迈进高阶人生

学历重要吗&#xff1f;入职门槛、晋升、考公等多方面都考核学历。学历代表的并不只是学习经历&#xff0c;也是学习能力的体现。在快速发展的社会&#xff0c;学历越高&#xff0c;学习能力越强&#xff0c;机会就越多。金融行业在职的你&#xff0c;有计划在职攻读硕士学位吗…

如何在 K3s 中使用网络策略

本文将介绍如何在示例项目中使用网络策略&#xff0c;并解释它在 K3s 中的工作原理&#xff0c;从而帮助用户提高部署的安全性。 关于 K3s 对网络策略的支持存在一个普遍的误解&#xff0c;因为 K3s 默认使用 Flannel CNI&#xff0c;而 Flannel CNI 不支持网络策略。其实&…

Docker+Jenkins+Gitee+Pipeline部署项目

1.前言 Hello&#xff0c;各位小伙伴大家好。&#x1f604; 在上一篇文章【DockerJenkinsGitee自动化部署maven项目】中&#xff0c;咱们详细介绍了如何自动化部署maven项目&#xff0c;如果说你的项目仅仅为maven项目&#xff0c;那么这种部署方式是很契合的&#xff0c;如果…

超全,Selenium4自动化测试并行测试详解,进阶之路看这篇就够了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Selenium4 自动化测…

万字解析PELT算法!

Linux是一个通用操作系统的内核&#xff0c;她的目标是星辰大海&#xff0c;上到网络服务器&#xff0c;下至嵌入式设备都能运行良好。做一款好的linux进程调度器是一项非常具有挑战性的任务&#xff0c;因为设计约束太多了&#xff1a; 它必须是公平的快速响应系统的throughp…

如何学习R-Meta分析与【文献计量分析、贝叶斯、机器学习等】多技术融合?

专题一&#xff1a;Meta分析的选题与文献计量分析CiteSpace应用 1、Meta分析的选题与文献检索 1) 什么是Meta分析 2) Meta分析的选题策略 3) 文献检索数据库 4) 精确检索策略&#xff0c;如何检索全、检索准 5) 文献的管理与清洗&#xff0c;如何制定文献纳入排除标准 6…

第一行代码 第十四章 开发酷欧天气

第14章 开发酷欧天气 在本章将编写一个功能较为完整的天气预报程序。 功能需求及技术可行性分析 在开始编码之前&#xff0c;需要先对程序进行需求分析&#xff0c;想一想酷欧天气中应该具备哪些功能。将这些功能全部整理出来&#xff1a; 可以罗列出全国所有的省、市、县&…

英飞凌 AURIX-TC3XX:QSPI通信实验

目录 AURIX-TC3XX-QSPI通信实验1.QSP简介1.1、AURIX TC3XX QSPI个数1.2、QSPI功能特点1.2.1、QSPI外设的新特性1.2.2、一些独特的特性1.2.3、支持传统的SPI特性1.2.4、四种可供用户选择的传输模式 2、具体实验操作2.1、新建工程2.2、实验一 3、域控制器中常见的SPI通信方式3.1、…

ble常见概念

0. 蓝牙一些常见概念 参考&#xff1a;https://www.bilibili.com/video/BV1ad4y1d7AM 基于ESP32来了解蓝牙协议的一些东西 蓝牙广播 包组成结构 低功耗蓝牙一共有40个信道&#xff0c;频段范围从2402Mhz-2480Mhz&#xff0c;每2Mhz一个信道&#xff0c;37 38 39 是广播信道…

基于linux的程序库文件打包和调用的实现(一)——静态库文件打包和调用

随着技术的发展&#xff0c;基于linux项目的软件代码越发复杂&#xff0c;原来一个人可以完成的软件项目&#xff0c;现在可能需要多个人合作、多个部门合作、多个企业合作&#xff0c;每个人、每个部门、每个企业可能负责部分软件模块的开发。各个软件模块在调试过程由于涉及企…

DeFi 发展沃土,Uniswap 成功“登陆” Moonbeam

作者&#xff1a;OneBlock 去年 3 月底&#xff0c;Uniswap 社区发布一项全新治理提案&#xff0c;旨在通过社区授权于 Polkadot 生态智能合约平台 Moonbeam 上部署 Uniswap V3&#xff0c;将 Uniswap 扩展至 Polkadot 生态。在这项提案中&#xff0c;Uniswap 计划除了提供流动…

极兔抢滩IPO,李杰不止缺一个丰网

&#xff08;图片来源于网络&#xff0c;侵删&#xff09; 来源 | 螳螂观察 文 | 叶小安 物流业打响了上市“抢滩战”。 5月&#xff0c;顺丰控股传出2023年在香港二次上市消息&#xff1b;紧接着极兔也传出将于下半年赴港上市消息&#xff1b;另一边&#xff0c;阿里主席张…

最新自助建站系统源码 一键建站系统源码 含700+精美网站模板和搭建教程

分享一款最新自助建站系统源码&#xff0c;一键建站系统源码&#xff0c;傻瓜式一键建站含700精美网站模板&#xff0c;网站全是自适应响应式&#xff0c;含完整代码程序包和详细搭建教程。 系统模板页面图&#xff1a; 系统功能特色一览&#xff1a; 1、一次性打包&#xff0…