Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与Weblogic一起使用Jersey和RESTful web服务_Java_Web Services_Weblogic_Jersey - Fatal编程技术网

Java 与Weblogic一起使用Jersey和RESTful web服务

Java 与Weblogic一起使用Jersey和RESTful web服务,java,web-services,weblogic,jersey,Java,Web Services,Weblogic,Jersey,我不熟悉使用Jersey框架和开发Web服务。我正在使用WebLogicV10作为现有项目的应用程序服务器,并尝试使用一个简单的HelloWorld示例开始 不幸的是,在运行时,我在com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig上的com/sun/jersey/core/reflection/ReflectionHelper上遇到了一个java.lang.NoClassDefFoundError,我尝试

我不熟悉使用Jersey框架和开发Web服务。我正在使用WebLogicV10作为现有项目的应用程序服务器,并尝试使用一个简单的HelloWorld示例开始

不幸的是,在运行时,我在com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig上的com/sun/jersey/core/reflection/ReflectionHelper上遇到了一个java.lang.NoClassDefFoundError,我尝试使用多个版本的jersey(.jar文件版本1.1.4.1和1.5.1和1.3),但结果是一样的。我正在使用Java1.5构建和运行它

包含HelloWorld类的.jar文件已正确加载到我的部署WEB-INF\classes文件夹中。至于web.xml文件,它只包含找到的Jersey的servlet类设置,但随后调用WebComponent类执行初始化,当该模块尝试创建ResourceConfig时,会收到错误。类路径已被检查并显示正确


如果您有任何见解,我们将不胜感激。

您在web应用程序类路径中拥有多个版本的com/sun/jersey/core/reflection/ReflectionHelper

这就是导致NoClassDefFoundError的原因

注意:这与ClassNotFoundException不同

能否搜索类路径和所有LIB以查看多个ReflectionHelper类的位置

我怀疑你还有所有的钱-

我试过使用多个版本 Jersey.jar文件(1.1.4.1和 1.1.5.1和1.3)

  • 到处都是版本。只保留一个-并删除已分解的类

查看您的jar,确认com/sun/jersey/core/reflection/ReflectionHelpe确实在应该的位置。感谢您的回复。我以前应该指定这个,但是是的,.jar文件位于部署路径的\lib文件夹中,我还尝试将包含ReflectionHelper类的.jar文件直接扩展到WEB-INF\classes文件夹中。不幸的是,错误仍然存在。感谢您的回复。我已经通过仅使用版本1.1.5.1超越了NoClassDefFoundError;但是,只有当我将分解的.jar文件保存在/classes文件夹中,并且将Jersy.jar文件保存在/lib文件夹中时,它才起作用。这似乎没有必要。现在,我确实收到了404-未找到;服务器找不到任何与请求URI匹配的内容;服务器上的详细日志显示Jersey PackageResourceConfig为init的信息MSG,以及找到的根资源和提供程序类;我想这是我的下一个障碍。您以前见过吗?@jfleming:basic servlet调用上的404通常是在浏览器上尝试的错误URL,即与
com.sun.jersey.spi.container.servlet.ServletContainer
的web.xml servlet映射不匹配。你正在尝试的URL是什么?如果您已经将jersey servlet映射到
/*
@jfleming:您真的不应该这样做-如果您有时间,您可以尝试一个新项目,只将Jar保存在Web inf/lib下。如果这个答案有效,请随意接受它——左边的绿色大勾号。是的,有了一个新的项目,这个答案就有效了。这有助于清理剩余的泽西岛文件的额外版本。因此,将1.1.5.1与WebLogic10和Java1.5结合使用效果很好。现在来看看更大的事情。谢谢你的帮助。