Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.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
Tomcat+;Jersey生成org.glassfish.Jersey.server.ContainerException:java.lang.NoClassDefFoundError_Java_Rest_Tomcat_Jersey_Noclassdeffounderror - Fatal编程技术网

Tomcat+;Jersey生成org.glassfish.Jersey.server.ContainerException:java.lang.NoClassDefFoundError

Tomcat+;Jersey生成org.glassfish.Jersey.server.ContainerException:java.lang.NoClassDefFoundError,java,rest,tomcat,jersey,noclassdeffounderror,Java,Rest,Tomcat,Jersey,Noclassdeffounderror,我知道这个问题以前已经发布在这里了,但我似乎找不到我问题的答案 我试图让Jersey从“ProjectA”调用POJO(“PojoClass”)中的一个方法,该方法将从导入的类(“ForeignClass”)实例化一个对象,然后调用它自己的一个方法。。但我一直收到一个关于ForeignClass的NoClassDefFoundError错误。如果我将PojoClass转换为Main,它会毫无问题地找到ForeignClass并实例化对象。ForeignClass是否应该以某种方式导入到Proje

我知道这个问题以前已经发布在这里了,但我似乎找不到我问题的答案

我试图让Jersey从“ProjectA”调用POJO(“PojoClass”)中的一个方法,该方法将从导入的类(“ForeignClass”)实例化一个对象,然后调用它自己的一个方法。。但我一直收到一个关于ForeignClass的NoClassDefFoundError错误。如果我将PojoClass转换为Main,它会毫无问题地找到ForeignClass并实例化对象。ForeignClass是否应该以某种方式导入到ProjectA的WEB-INF/lib中,以便Jersey识别它

ProjectA的web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://java.sun.com/xml/ns/javaee"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>PackageA</display-name>
 <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>PackageA</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
</web-app>

包装
泽西岛休息服务
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
包装
1.
泽西岛休息服务
/休息/*
PojoClass:

import PackageB.ForeignClass;



@Path("/admin")
public class PojoClass {


    @GET
    public void test(){

        ForeignClass fc = new ForeignClass();
        fc.testRest(); // << this method just prints "test"

    }

}
导入包b.ForeignClass;
@路径(“/admin”)
公开课{
@得到
公开无效测试(){
ForeignClass fc=新ForeignClass();

fc.testRest();//我认为您只是在
PackageA
中注入了
foreignClass
,但是在
PackageB
中注入了

<init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>PackageA,PackageB</param-value>
    </init-param>

jersey.config.server.provider.packages
包装A,包装B

我希望这对你有帮助。祝你一切顺利,编码愉快。

我认为你只是在
PackageA
中注入
foreignClass
。你可以在
web.xml
中尝试这段代码:

<init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>PackageA,PackageB</param-value>
    </init-param>

jersey.config.server.provider.packages
包装A,包装B

我希望这对您有所帮助。祝您编码愉快。

您能检查部署的webapps文件夹中是否存在ForeignClass吗?您是如何部署应用程序的?什么是“部署的webapps文件夹”?它不是唯一的WEB-INF/lib吗?我正在使用WEB.xml配置流程。这就是部署应用程序的意思吗?不,我是表示tomcat服务器所在的位置。它将有一个webapps文件夹,项目将部署在该文件夹下。所有的类文件都将出现在那里。(如果是战争)那么,你能检查一下ForeignClass的类文件是否存在吗?另外,你能粘贴ForeignClass的代码吗?哦,我知道了,谢谢。你能检查一下ForeignClass是否存在于deployed webapps文件夹中吗?你如何部署应用程序?什么是“deployed webapps folder”?它不仅仅是WEB-INF/lib吗?我正在使用WEB应用程序.xml来配置流程。这就是您所说的部署应用程序的意思吗?不,我指的是tomcat服务器所在的位置。它将有一个webapps文件夹,在该文件夹下部署您的项目。您的所有类文件都将在那里。(如果是战争)那么,你能检查一下你的ForeignClass类文件是否存在吗?另外,你能粘贴ForeignClass的代码吗?哦,我知道了,谢谢。我会检查一下的