使用Tomcat和Eclipse的Jersey服务

 慕容盼烟迎曼 发布于 2023-02-08 09:29

我正在开发Jersey 2.0的休息服务(我从http://repo1.maven.org/maven2/org/glassfish/jersey/bundles/jaxrs-ri/2.5/jaxrs-ri-2.5.zip下载)和我使用Tomcat 7.0.47.我从Eclipse运行Tomcat,我的机器是Mac.

我正在使用Eclipse工具生成WAR并部署服务.

这是我的web.xml:

    
    
  MyServices 
    
  Jersey REST Service
    org.glassfish.jersey.servlet.ServletContainer  
  
    jersey.config.server.provider.packages
    com.service.services.Services
  
  1


  Jersey REST Service
  /services/*


我将所有泽西罐子包含在WEB-INF/lib中,除了javax.servlet-api-3.0.1.jar它是在Apache/lib中我在Tomcat中部署时,它显示了一个非常奇怪的错误:

Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    ... 70 more

jjmartinez.. 9

我的解决方案

    将从Jersey下载的所有库添加到Tomcat/lib中,并将其包含/ext在Jersey .zip的文件夹中

    将我的项目的Web-Inf/lib添加到/libJersey zip文件夹下的库中

    添加到我的项目的Web-Inf/lib中javax.ws.rs-api-2.jar,您可以在/apiJersey的文件夹中找到它

有了这个,我没有问题用Jersey运行Tomcat.

这是我的web.xml Jersey 2.0



  MyRESTServices
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  

  
        Jersey Web Application
        org.glassfish.jersey.servlet.ServletContainer
        
             jersey.config.server.provider.packages
             com.myservice.services
        
        1
    
    
        Jersey Web Application
        /rest/*
    


哪里com.myservice.services有我服务的包裹

感谢您的意见!!

1 个回答
  • 我的解决方案

      将从Jersey下载的所有库添加到Tomcat/lib中,并将其包含/ext在Jersey .zip的文件夹中

      将我的项目的Web-Inf/lib添加到/libJersey zip文件夹下的库中

      添加到我的项目的Web-Inf/lib中javax.ws.rs-api-2.jar,您可以在/apiJersey的文件夹中找到它

    有了这个,我没有问题用Jersey运行Tomcat.

    这是我的web.xml Jersey 2.0

    <?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>MyRESTServices</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    
      <servlet>
            <servlet-name>Jersey Web Application</servlet-name>
            <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
            <init-param>
                 <param-name>jersey.config.server.provider.packages</param-name>
                 <param-value>com.myservice.services</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>Jersey Web Application</servlet-name>
            <url-pattern>/rest/*</url-pattern>
        </servlet-mapping>
    
    </web-app>
    

    哪里com.myservice.services有我服务的包裹

    感谢您的意见!!

    2023-02-08 09:33 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有