解决rabbitmq-java-client编译报错

198 阅读1分钟

1.源码下载

RabbitMQ Java客户端的github仓库地址:
https://github.com/rabbitmq/rabbitmq-java-client
Git下载链接:
git clone https://github.com/rabbitmq/rabbitmq-java-client.git
另外,还需要下载RabbitMQ代码生成器:
原仓库地址:
https://github.com/rabbitmq/rabbitmq-codegen
国内加速源,Git下载链接:
git clone https://gitclone.com/github.com/rabbitmq/rabbitmq-codegen.git
备注:现在代码所在位置是:
https://github.com/rabbitmq/rabbitmq-server/tree/main/deps/rabbitmq_codegen

2.在IDEA中编译打包

提前说明:由于生成代码时需要使用到python,所以需要提前下载安装好python3,此处不作详细说明。
使用IDEA打开rabbitmq-java-client项目后,按下图进行打包。
image-20230713180009762.png

image-20230713180137680.png
此时就会报错,信息如下:
image-20230713181710501.png

根据错误信息,可以知道需要使用D:\github\rabbitmq-java-client/deps/rabbitmq_codegen/amqp-rabbitmq-0.9.1.json文件(路径中的正反斜杠没关系)

我们在项目根目录D:\github\rabbitmq-java-client下手动创建一个deps文件夹,然后将之前下载的代码生成器rabbitmq-codegen目录复制到刚创建的deps文件夹

下面,并且改名成下划线分隔rabbitmq_codegen。如下图:

image-20230713181838104.png

在pom.xml文件中,可以找到如下信息:

image-20230713181316771.png

image-20230713181941483.png

然后,继续在IDEA中执行mvn clean package,但是依旧会报上面的错误。【在IDEA中执行Maven命令打包报错原因没找到,但是在cmd中执行打包能成功】

3.换一种方式编译

打开cmd,然后执行打包命令,如下图:

image-20230713182325580.png

输入:mvn clean package -DskipTests=true 并回车执行

image-20230713182405351.png

结果编译打包成功:

image-20230713182505215.png

生成了目标代码:

image-20230713182542733.png

image-20230713182554929.png

然后,将上述2个文件复制到:

image-20230713182650029.png

image-20230713182713126.png