Could not find artifact com.alibaba.cloud:spring-cloud-starter-stream-rocketmq:pom:unknown in alimav

 我的mq初建项目是这样的

1:问题描述

根据RocketMQ官网,进行操作,然后需要引入rocketmq,根据官网的依赖引入

会出现下边这个问题

Could not find artifact com.alibaba.cloud:spring-cloud-starter-stream-rocketmg:pom:4.9.3 in aliyunmaven
(https://maven.aliyun.com/repository/public)

mq2.3_rmqdemo下边的pom.xml文件
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.shimmer</groupId>
    <artifactId>MQ</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>mq2.3_rmqdemo</module>
    </modules>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.12.RELEASE</version>
    </parent>

    <name>MQ</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <com.cloud.version>Hoxton.SR12</com.cloud.version>
        <com.alibaba.cloud.version>2.2.8.RELEASE</com.alibaba.cloud.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${com.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${com.alibaba.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

解决一:

之后怎么删除本地maven包,然后reload project ,或者clear maven,再次install还是不行,还是报这个错误,显示阿里云没有这个版本。

解决二: 

那么我就去maven仓库去查找相关的版本引入,是可以下载下来,但是项目出问题了

然后去看仓库服务仓库服务,发现上边有这样一句话

 然后更换了镜像,把镜像更换成了新的

<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

 之后还是不行

解决三:

因为官网的引用是没有相关版本的,没有显示的引用,所以是引用了父类的版本,所以父类必须能让子类进行复用

mq下边的pom.xml文件,我一开始的父pom文件是这样的

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.shimmer</groupId>
    <artifactId>MQ</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>mq2.3_rmqdemo</module>
    </modules>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.12.RELEASE</version>
    </parent>

    <name>MQ</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <com.cloud.version>Hoxton.SR12</com.cloud.version>
        <com.alibaba.cloud.version>2.2.8.RELEASE</com.alibaba.cloud.version>
    </properties>

        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${com.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${com.alibaba.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</project>

 父类pom文件是能正常下载包的没有问题,可是子类就有问题了。

在阿里巴巴java开发者规范中有一句话

 

突然想起来才发现,公共使用的需要放到<dependencyManagement>, 我在父版本哪里没有加上直接dependencies开始了

所以将父类改成

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.shimmer</groupId>
    <artifactId>MQ</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>mq2.3_rmqdemo</module>
    </modules>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.12.RELEASE</version>
    </parent>

    <name>MQ</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <com.cloud.version>Hoxton.SR12</com.cloud.version>
        <com.alibaba.cloud.version>2.2.8.RELEASE</com.alibaba.cloud.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${com.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${com.alibaba.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

 

一定要加上dependencyManagement,不要粗心直接贴上去了

向前是不畏难的勇气

猜你喜欢

转载自blog.csdn.net/qq_45656077/article/details/132430869
今日推荐