当前位置: 首页 > 面试题库 >

Tomcat和Eclipse的Jersey服务

池宸
2023-03-14
问题内容

我正在使用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:

    <?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>MyServices</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>com.service.services.Services</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>Jersey REST Service</servlet-name>
  <url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>

我将所有Jersey罐子都包含在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

问题答案:

我的解决方案:

  1. 将您从Jersey下载的所有库都添加到Tomcat / lib中,这些库都包含/ext在Jersey .zip的文件夹中。
  2. /lib将位于Jersey zip文件文件夹下的库添加到我的项目的Web-Inf / lib中
  3. 添加到我的项目的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是我有我的服务包

感谢您的意见!!



 类似资料:
  • 我在eclipse中不断遇到这些错误,我在互联网上搜索过,所列出的修复程序都没有帮助。 如果你需要更多的信息来回答我的问题,那么请让我知道,我会找到它。 请提交所有的答案,以简单的英语与链接,否则我可能不会理解。 软件包javax.xml.stream可从多个模块访问:、java.xml

  • 我部署服务器发送事件资源与泽西2.41/Java7/tomcat 7. 我得到的错误是 2013年12月16日凌晨4:04:40组织。阿帕奇。卡塔琳娜。果心StandardWrapperValve:Servlet。路径为[/trackapp]的上下文中servlet[ServletAdapter]的服务()引发异常[java.lang.UnsupportedOperationException:s

  • 我试图在Ubuntu(14.04)上使用eclipse Java EE(4.5.1)创建一个动态web应用程序,并且Tomcat是V7.0 当我尝试运行服务器时,它提示“无法在服务器/Tomcat V7.0 server at localhost-config加载Tomcat服务器配置”。 在尝试运行服务器之前,我已经将/etc/tomcat7的所有文件复制到/workspace/servers/

  • 所以现在我想我的问题一定是在XML中...它有什么问题???

  • 我尝试在server.xml中添加一个新的docbase,以便在我的tomcat服务器中定义一个上传目录。然而,如果我将它添加到我的独立tomcat服务器上,它会像魔咒一样工作: 但是在我的本地eclipse tomcat服务器配置中它不起作用。我的发布操作是“更新上下文路径”,我在服务器选项卡中使用“工作区元数据”。 知道我哪里做错了吗?