gpt4 book ai didi

java - JBoss6 与 RestEasy 客户端

转载 作者:行者123 更新时间:2023-11-29 03:53:27 26 4
gpt4 key购买 nike

我想在我的网络应用程序(.war 和 6.0.0.Final)中使用 REST 服务,并且最近从 jersey 切换到 resteasy(因为 JBoss6 with REST client (jersey-client))。

我的客户端代码就是这个简单的示例(从控制台调用时完美运行):

ResteasyProviderFactory providerFactory = ResteasyProviderFactory.getInstance();
RegisterBuiltin.register(providerFactory);

ClientRequest request = new ClientRequest(restUrl);
request.accept(MediaType.APPLICATION_XML);

ClientResponse<MyJaxbClass> response = request.get(MyJaxbClass.class);

一开始我希望 RESTeasy 的一切都可以在 JBoss 中使用,但是在访问该方法时我得到了这个错误:

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at org.jboss.resteasy.client.ClientRequest.createDefaultExecutorInstance(ClientRequest.java:115)
at org.jboss.resteasy.client.ClientRequest.getDefaultExecutor(ClientRequest.java:94)
at org.jboss.resteasy.client.ClientRequest.<init>(ClientRequest.java:125)
at my.own.MyRestEasyClient.members(MyRestEasyClient.java:42)

嗯,没什么大不了的!虽然我想知道为什么使用已弃用的 commons-httpcomponents,但我将 commons-httpclient:commons-httpclient:3.1 添加到我的 .war 中。但是错误并没有消失。我仔细检查了 commons-httpclient-3.1.jar 在 war 中。然后我删除了 commons-httpcomponents 并添加了org.jboss.resteasy:resteasy-jaxrs:2.1.0.GAorg.jboss.resteasy:resteasy-jaxb-provider: 2.1.0.GA`。为了避免(也许我已经陷入)jar-hell,我使用了与 JBoss6 捆绑在一起的 resteasy-version,但现在我收到了这个错误:

Caused by: java.lang.annotation.AnnotationTypeMismatchException: Incorrectly
typed data found for annotation element public abstract
javax.xml.bind.annotation.XmlNsForm
org.jboss.xb.annotations.JBossXmlSchema.elementFormDefault()
(Found data of type Ljavax/xml/bind/annotation/XmlNsForm;.QUALIFIED)

这不是很具体,但如果我将 jars 捆绑到 JBoss 中已经可用的 .war 中,我会遇到类似的错误。我找到了 ClassNotFound Exception when configuring RestEasy ,但这似乎与我的问题无关。

最佳答案

几天前我们遇到了同样的问题,但发现这个错误报告对我们有帮助 https://issues.jboss.org/browse/JBAS-8841

修复(如错误报告中所述):

I added commons-httpclient-3.1.jar in deployers/resteasy.deployer to correct the exception. Adding the jar to my webapp didn't worked

这对我们有用。

关于java - JBoss6 与 RestEasy 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7634226/

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