gpt4 book ai didi

java - 如何解决我的测试项目中的 io.netty 错误

转载 作者:行者123 更新时间:2023-12-01 19:34:36 25 4
gpt4 key购买 nike

我正在使用 Java 设置后端测试。运行测试时出现以下错误:

java.lang.NoSuchMethodError:io.netty.util.internal.PlatformDependent.allocateUninitializedArray(I)[B

我的 pom 文件包含以下与 Netty 相关的依赖项:

    <dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
<version>4.1.36.Final</version>
</dependency>

我的代码本身如下所示:

import cucumber.api.java.en.And;
import org.mockserver.client.MockServerClient;
import org.mockserver.matchers.Times;
import org.mockserver.model.HttpRequest;
import org.mockserver.model.HttpResponse;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class PdfGenerateStep {

@Autowired
private MockServerClient mockServerClient;

@And("Pdf {string} is generated")
public void generatePDF(String pdfFile) {

HttpRequest httpRequest = new HttpRequest();
httpRequest.withPath("/pdf-service/doc/request")
.withHeader("template", "TEST")
.withHeader("docFormat", "pdf")
.withHeader("fromParty", "PDFGEN")
.withHeader("APPLICATION", "App")
.withMethod("POST");
HttpResponse httpResponse = new HttpResponse();
httpResponse.withStatusCode(200);
httpResponse.withBody(readPdfFile(pdfFile));

mockServerClient.when(httpRequest, Times.once()).respond(httpResponse);
}

private byte[] readPdfFile(String file) {
try {
Path path = Paths.get(getClass().getClassLoader().getResource(file).toURI());

return Files.readAllBytes(path);

} catch (URISyntaxException | IOException e) {
e.printStackTrace();
}
return null;
}
}

最佳答案

io.netty.util.internal.PlatformDependent 类中没有 allocateUninitializedArray 方法,因此在您的类路径中还有另一个包含此类的 jar,但版本不同,因此此类的代码将是不同。

io.netty.util.internal.PlatformDependent类可以在netty-common中找到,它是netty-transport的传递依赖。

因此,请检查项目的依赖关系树。很可能您有另一个依赖项,它具有不同版本的 netty-common 作为传递依赖项。排除错误的即可。

关于java - 如何解决我的测试项目中的 io.netty 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58302234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com