gpt4 book ai didi

java - TomEE、CXF 和 Jackson - 没有找到响应类的消息正文作者

转载 作者:行者123 更新时间:2023-11-30 11:16:25 28 4
gpt4 key购买 nike

尝试进入 TomEE,但在启动和运行生成 JSON 的 JAX-RS 资源时遇到了一些困难。

使用 tomee-maven-plugin 启动 TomEE:

        <plugin>
<groupId>org.apache.openejb.maven</groupId>
<artifactId>tomee-maven-plugin</artifactId>
<version>1.6.0.2</version>
<configuration>
<tomeeVersion>1.6.0.2</tomeeVersion>
<tomeeClassifier>plus</tomeeClassifier>
<config>${project.basedir}/src/test/resources</config>
<libs>
<lib>mysql:mysql-connector-java:5.1.31</lib>
<lib>com.fasterxml.jackson.core:jackson-core:${jackson-version}</lib>
<lib>com.fasterxml.jackson.core:jackson-annotations:${jackson-version}</lib>
<lib>com.fasterxml.jackson.core:jackson-databind:${jackson-version}</lib>
<lib>com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:${jackson-version}</lib>
<lib>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:${jackson-version}</lib>
</libs>
</configuration>
</plugin>

系统属性:

openejb.cxf.jax-rs.providers = com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider, com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider

不幸的是,在执行请求时我似乎仍然得到:

WARNING: No message body writer has been found for response class Server

使用简单的 JAX-RS 方法:

@GET
@Path("/{id}")
@Produces(MediaType.APPLICATION_JSON)
public Server find(@Context HttpServletRequest request, @PathParam("id") int id) {
return repository.findOrNull(id);
}

“服务器”类只是一个简单的 JPA 实体/Bean。

我可能遗漏了一些愚蠢的东西。

最佳答案

事实证明,@XmlRootElement 是 CXF 所必需的。我只有 Jersey 作为 JSON 映射器的经验。

关于java - TomEE、CXF 和 Jackson - 没有找到响应类的消息正文作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873786/

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