我们使用的是 5.4.3 confluentinc/cp-kafka
,它不支持 ARM。从 7.x 开始,开发人员添加了 ARM 支持,请考虑切换到此。
[spring-projects/spring-boot]更新集成测试中使用的 Kafka 图像标签
回答
您好,我以前从未为开源做出过贡献,但很想开始,并且如果您推荐的话,我很乐意接受。这是否只是更新用于允许arm架构支持某些集成测试的kafka镜像版本?
嘿,
感谢您的报价!
有一个方法org.springframework.boot.testsupport.testcontainers.DockerImageNames#kafka
返回我们集成测试中使用的 docker 镜像。org.springframework.boot.testsupport.testcontainers.DockerImageNames#KAFKA_VERSION
是它用于图像的版本。
这个问题是使用 Kafka 的最新镜像(请使用特定版本而不是latest
),然后运行所有集成测试并查看它们是否仍然通过(./gradlew build
)
如果所有测试都通过,请随意创建返回此存储库的拉取请求。
如果这对您来说没问题,我会将您分配给这个问题,您就可以开始处理它了。如果您需要进一步的帮助,请随时询问!
嘿莫里茨,是的,听起来很棒。请将这个问题分配给我,我将审查并解决这个问题。谢谢,如果我需要任何帮助,我会在这里回复,不胜感激:)
伟大的!玩得开心!
嘿@mhalbritter,我似乎在使用 ./gradlew build 构建项目时遇到问题,因为它每次都会失败。
我进行了 1189 次测试,其中 279 次失败,8 次忽略。
他们都存在以下问题:
“* 出了什么问题:配置根项目“gradle-15620684805334644137”时出现问题。”
我认为这与我设置项目的方式有关,我只是分叉了这个存储库并 git 克隆了它,然后运行了构建命令。我有 docker 在后台运行。
我已经更新了 kafka 镜像版本并运行了单独的 KafkaContainerConnectionDetailsFactoryIntegrationTests,这似乎是成功的。但我应该在提高 PR 之前确保 ./gradew build 成功。
我不确定如何正确构建它,并希望获得一些帮助。
嘿@KitBolourchi,您的计算机上需要安装 Java 17,然后./gradlew build
就可以工作了。
您可以运行./gradlew build | tee output.txt
然后将压缩的output.txt上传到这里,以便我看一下吗?
What went wrong:
A problem occurred configuring root project 'gradle-15620684805334644137'.
非常不具有描述性:)
谢谢!
我想我使用的是java19,我明白了,我会尝试使用17,如果错误仍然存在,我会将整个输出文件放在这里(抱歉,你是对的,这没有帮助)
不用担心。这里有更多关于如何开始和从源代码构建的文档。
这是运行 ./gradlew build 的 output.text 文件。我尝试使用 JDK17 运行,但仍然没有成功。我也确实在后台加载了 docker。我会继续努力解决这个问题。似乎所有 gradle.build 脚本都无法进行集成测试。
嘿,谢谢你。看起来针对多个 Maven 和 Gradle 版本执行它的测试不起作用,但我还不知道为什么。
您能否上传spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build/reports/tests/test
包含测试运行输出的压缩文件夹?我希望该文件包含错误的根本原因。
所以,根本原因似乎是这个错误:
> Could not open proj generic class cache for build file '/private/var/folders/6v/dyrttb6d2t5gxvrpm5crprsm0000gn/T/gradle-17968605439802548769/build.gradle' (/private/var/folders/6v/dyrttb6d2t5gxvrpm5crprsm0000gn/T/.gradle-test-kit-kitbolourchi-TEST-SNAPSHOT-7.5.1/caches/7.5.1/scripts/3hylifuc835q8ep49p5mlhzby).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 63
类文件版本 63是 Java 19。
您确定使用 Java 17 运行它吗?java -version
能给你什么?它应该这样说:
╰─$ java -version
openjdk version "17.0.7" 2023-04-18 LTS
OpenJDK Runtime Environment (build 17.0.7+7-LTS)
OpenJDK 64-Bit Server VM (build 17.0.7+7-LTS, mixed mode)
和
╰─$ ./gradlew --version
------------------------------------------------------------
Gradle 7.6.1
------------------------------------------------------------
Build time: 2023-02-24 13:54:42 UTC
Revision: 3905fe8ac072bbd925c70ddbddddf4463341f4b4
Kotlin: 1.7.10
Groovy: 3.0.13
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 17.0.7 (BellSoft 17.0.7+7-LTS)
OS: Linux 6.2.15-200.fc37.aarch64 aarch64
啊,你是对的......我的错,我以为我在intellij的属性内改变了它,但不知何故它仍然是jdk19。
我刚刚做到了,它构建成功,因此所有测试都使用我更新的 kafka 版本运行。我将查看文档并为此问题创建拉取请求。
非常感谢 :)
结束有利于#35625