springcloud--坐标导入

本文档详细介绍了SpringCloud项目的搭建过程,包括版本锁定、工具类坐标管理、POJO的独立性、注册中心的依赖引入、网关和服务的依赖配置等关键步骤。

项目搭建

需要锁定版本

管理坐标 不提供给子工程产生依赖

 

<!--
         管理子工程
         1,锁定坐标版本
         2,管理子工程(统一打包,部署)
     -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.RC1</spring-cloud.version>
        <mybatis.starter.version>1.3.2</mybatis.starter.version>
        <mapper.starter.version>1.2.3</mapper.starter.version>
        <druid.starter.version>1.1.9</druid.starter.version>
        <mysql.version>5.1.32</mysql.version>
        <pageHelper.starter.version>1.2.3</pageHelper.starter.version>
        <fastDFS.client.version>1.26.1-RELEASE</fastDFS.client.version>
        <jaxb.version>2.3.0</jaxb.version>
        <activation>1.1.1</activation>
        <springfox>2.2.2</springfox>
        <lambok>1.16.20</lambok>
        <fastjson>1.2.9</fastjson>
    </properties>

    <!--管理坐标-->
    <dependencyManagement>
        <dependencies>
            <!-- springCloud -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- mybatis启动器 -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis.starter.version}</version>
            </dependency>
            <!-- 通用Mapper启动器 -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>${mapper.starter.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</a
<think>我们正在解决一个具体问题:在Maven项目中,无法找到`spring-cloud-starter-openfeign`的2021.0.8版本。 根据之前的上下文,我们知道Spring Boot 2.7.18对应的Spring Cloud版本是2021.0.8,而`spring-cloud-starter-openfeign`的版本应该由Spring Cloud BOM管理,因此我们不需要直接指定该starter的版本为2021.0.8。 用户遇到的错误可能是由于以下原因之一: 1. 没有正确导入Spring Cloud BOM(即依赖管理)。 2. 在依赖中直接指定了`spring-cloud-starter-openfeign`的版本为2021.0.8,但实际上这个starter的版本是由BOM管理的,其实际版本号并不是2021.0.8(而是3.1.5,因为Spring Cloud版本2021.0.8对应的OpenFeign starter版本是3.1.5)。 3. 仓库中没有这个版本(可能是仓库配置问题)。 因此,我们需要指导用户正确配置: 步骤1:在pom.xml中设置Spring Cloud的版本为2021.0.8,通过依赖管理(dependencyManagement)导入BOM。 步骤2:添加`spring-cloud-starter-openfeign`依赖,但不指定版本(由BOM管理)。 如果用户已经按照上述步骤配置,但仍然找不到依赖,则可能是Maven仓库配置问题。我们可以建议用户检查仓库设置,或者尝试清除本地仓库并重新下载。 下面给出一个完整的配置示例:</think>### 解决 `spring-cloud-starter-openfeign:2021.0.8` 依赖找不到的问题 您遇到的错误是因为 **`spring-cloud-starter-openfeign` 的版本号与 Spring Cloud 发布列车的版本号命名规则不同**。`2021.0.8` 是 Spring Cloud 的 BOM 版本号,而非 starter 的直接版本号。以下是解决方案: #### 正确配置步骤 1. **修改 `pom.xml` 配置** ```xml <!-- 在 properties 中定义版本 --> <properties> <spring-cloud.version>2021.0.8</spring-cloud.version> </properties> <!-- 在 dependencyManagement 中导入 BOM --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <!-- 添加依赖(不指定版本) --> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> </dependencies> ``` 2. **验证依赖树** 执行命令检查实际解析版本: ```bash mvn dependency:tree -Dincludes=org.springframework.cloud:spring-cloud-starter-openfeign ``` 正确输出应为: ``` [INFO] +- org.springframework.cloud:spring-cloud-starter-openfeign:jar:3.1.5 ``` #### 问题原因说明 - ❌ **错误做法**:直接指定 `2021.0.8` 作为 starter 版本 ```xml <!-- 会导致依赖找不到 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2021.0.8</version> </dependency> ``` - ✅ **正确逻辑**: - Spring Cloud BOM (`spring-cloud-dependencies:2021.0.8`) 内部管理了 starter 的实际版本(`3.1.5`) - 依赖关系: $$ \text{Spring Boot 2.7.18} \rightarrow \text{Spring Cloud 2021.0.8} \rightarrow \text{OpenFeign 3.1.5} $$ #### 若仍遇到问题 1. **检查仓库配置** 在 `settings.xml` 中添加 Spring 仓库: ```xml <repositories> <repository> <id>spring-milestones</id> <url>https://repo.spring.io/milestone</url> </repository> </repositories> ``` 2. **清除 Maven 缓存** ```bash mvn dependency:purge-local-repository ``` > **关键提示**:Spring Cloud 2021.0.8 的 OpenFeign starter 在 Maven Central 的坐标是 [org.springframework.cloud:spring-cloud-starter-openfeign:3.1.5](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign/3.1.5)[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值