- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Jersey 客户端 API 实现一个使用 json 数据的休息客户端。我对 JAXB 并没有多少经验,尤其是在与 JSON 的结合方面。我遵循了提供的示例 here并注册了一个 JAXBContext。
当我使用 mvn exec:java
执行项目时,一切都像魅力一样。
我使用 Maven 程序集插件创建单个 JAR。当我使用这个 JAR 文件运行客户端时,JAXBContext 似乎根本没有被使用。结果是:
“com.sun.jersey.api.client.ClientHandlerException:Java 类 org.digitest.model.Account、Java 类型类 org.digitest.model.Account 和 MIME 媒体类型的消息体读取器找不到应用程序/json”
有人知道我什么时候可能做错了吗?即使是关于如何进行调试的模糊提示也将不胜感激!
@Provider
public final class ModelJAXBContextResolver implements ContextResolver<JAXBContext> {
private final JAXBContext context;
private final Set<Class> types;
private final Class[] cTypes = {
Account.class, ...
};
public ModelJAXBContextResolver() throws Exception {
this.types = new HashSet(Arrays.asList(cTypes));
this.context = new JSONJAXBContext(JSONConfiguration.natural().build(), cTypes);
throw new Exception("Json context is loaded");
}
@Override
public JAXBContext getContext(Class<?> objectType) {
return (types.contains(objectType)) ? context : null;
}
}
客户端设置:
DefaultApacheHttpClientConfig config = new DefaultApacheHttpClientConfig();
config.getProperties().put(DefaultApacheHttpClientConfig.PROPERTY_HANDLE_COOKIES, true);
config.getClasses().add(ModelJAXBContextResolver.class);
client = ApacheHttpClient.create(config);
账号:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Account {
...
}
最佳答案
终于!这可能是我今年不得不应对的最烦人的事情!
添加 1.4-SNAPSHOT 版本的 jersey 依赖项解决了它。
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-apache-client</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.2-SNAPSHOT</version>
</dependency>
关于java - Jersey 客户端,当使用 Maven 执行应用程序时使用 JAXBContext,但不使用 java -jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3387345/
我正在将我们的团队从 JAXB 1.x 迁移到 JAXB 2.1,它是 JAVA1.6 (rt.jar) 的一部分。一切都进行得很顺利,直到它在运行时开始提示。 这是导致问题的代码行。 String
在我的 java 项目中,我有一个用一些类生成的 jar。我能够实例化我的 jar 中的类的实例: Alert a = new Alert(); 但是我尝试这样做: JAXBContext conte
我想问一个关于 @UsesJAXBContext的问题 jax-ws 中的注解。我试图让它在客户端工作,但我可能遗漏了一些东西。这是我的案例: 我有网络服务操作: @WebMethod(operati
我在使用 JAXB 时遇到了一个奇怪的问题。我已经使用 xjc 从我的 XSD 生成我的 java 类,一切看起来都不错。如果我使用 schemagen,它会生成一个与我的原始 xsd 相匹配的正确模
有没有什么方法可以加快 javax.xml.bind.JAXBContexts 的初始化以及大量(>1000)类的初始化?在我们的 XML 繁重的应用程序中,启动时间大约为 10 分钟,主要包括 JA
这个程序: import foo.bar.baz.ClassSpecificallyIncluded; import javax.xml.bind.JAXBContext; public clas
我使用MarshallingMessageConverter作为MessageConverter bean的实现。我使用 Jaxb2Marshaller 作为 org.springframework.
这个问题已经有答案了: JAXBContext and @XmlRootElement cause error (1 个回答) 已关闭 4 年前。 我有一个 POJO(Kotlin 中),我想将其更改
我们在 Mule 适配器中面临一个与 JAXB 上下文相关的问题,需要对此提出一些意见我们正在使用 xpath 来评估适配器中选择 block 中的一些表达式,如下所示, ....
我对 JAXB 的这两个方面感到困惑。 据我了解,当将冒号分隔的包名称作为上下文路径传递到 newInstance 时JAXBContext 的方法,JAXB 会将这些包下的所有类添加到其作用域中,以
我正在尝试像这样初始化 JAXBContext: JAXBContext jaxbContext = JAXBContext.newInstance("ebay.apis.eblbasecompone
我有关于将 XML 转换为 Java 对象的问题,在这里我使用 JAXB。 就我而言: XML 数据: Aris Tonar XML 数据
我知道 JAXBContext 应该只创建一次,因为它非常昂贵,但我很好奇是否最好为所有必需的类创建一个上下文, JAXBContext newInstance(Class... classesToB
通过使用 XJC,我创建了 2 个不同的 JAXB 元数据包,每个包中都有一个 ObjectFactory 类(我不知道这种方法是否可行,我有 2 个不同的 XSD 需要处理) 建议每个操作只创建一个
在最近的系统测试部署之后,我们的一个 servlet 受到的打击比平时严重得多,我们注意到内存开始攀升,而 weblogic 最终会死掉。我的实习生,我很自豪,发现了内存泄漏的根源。 无论何时收到请求
我正在 JAXBContext 类中试验各种形式的 newInstance 方法(我使用的是 Oracle JDK 1.7 附带的默认 Sun JAXB 实现)。 我不清楚何时可以将具体类与 Obje
jaxb.properties需要在与域类 相同的包您正在创建 JAXBContext。 我正在使用 Moxy 的 xml 驱动配置,因为我不想使用注释或 XJC 生成的对象。我有一个现有的域类,它们
我需要为特定的 XmlAdapter 安装 DefaultValidationEventHandler。从我读过的内容来看,你只能这样做: JAXBContext context = JAXBCont
在创建用于解码的 JAXBContext 实例时出现空指针异常。下面的行位于一个函数内,每次我上传需要解码的 XML 时都会调用该函数。 JAXBContext jc = JAXBContext.ne
请阐明 JAXBContext 配置。鉴于: 客户库 com.mycompany.user01234 包含多个JAXB 注解的类 所有类都是位于同一个包中的简单 POJO 类由 @XmlType 注释
我是一名优秀的程序员,十分优秀!