jakarta.xml.bind.annotation.XmlRootElement 是不是可用?

Posted

技术标签:

【中文标题】jakarta.xml.bind.annotation.XmlRootElement 是不是可用?【英文标题】:is jakarta.xml.bind.annotation.XmlRootElement is available?jakarta.xml.bind.annotation.XmlRootElement 是否可用? 【发布时间】:2021-04-09 15:59:44 【问题描述】:

我正在使用 Maven-jersey-Tomcat 进行 rest-api 开发。但是或 xml 类型注释 @XmlRootElement 或依赖项 javax.bind.annotation.XmlRootElement 不起作用... 我还附上了屏幕截图

【问题讨论】:

您执行的哪些操作不起作用?您可以在此处将控制台中的消息复制为文本,而不仅仅是发布屏幕截图吗?您的休息处理程序是如何设置的? AlienResource类需要保存吗? 你能在你的 pom.xml 中显示你的依赖吗? 我不确定,但我认为MessageBodyWriter not found 错误可能发生在您发送的响应类型与预期不符时。请检查您的接受配置和请求的响应类型。正如我之前所说,这只是一个猜测。请添加您的代码和堆栈跟踪以正确诊断问题。 嗨 Paul.. 这是 pom.xml 代码: 【参考方案1】:

使用这些依赖

<dependency>
 <groupId>jakarta.xml.bind</groupId>
 <artifactId>jakarta.xml.bind-api</artifactId>
 <version>3.0.1</version>
</dependency>

<dependency>
 <groupId>org.glassfish.jersey.media</groupId>
 <artifactId>jersey-media-jaxb</artifactId>
</dependency>
 
<dependency>
 <groupId>com.sun.xml.bind</groupId>
 <artifactId>jaxb-osgi</artifactId>
 <version>3.0.1</version>
</dependency>

【讨论】:

使用这个导入语句 import jakarta.xml.bind.annotation.XmlRootElement;【参考方案2】:
import jakarta.xml.bind.annotation.*;

导入此package,它将与来自 Ashish bindra 的上述 maven 依赖项一起使用。

注意:希望您正在使用 Telusko 教程,我对此进行了测试,并且运行良好。

【讨论】:

以上是关于jakarta.xml.bind.annotation.XmlRootElement 是不是可用?的主要内容,如果未能解决你的问题,请参考以下文章