tomcat web容器中,调用jersey client端报错的处理

在web工程中,写main方法,运行ok。

发布到tomcat中后,报错。

javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder

Caused by:java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;

at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)

at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:286)

at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:218)

几经折腾,最后发现原来需要添加一个jaxrs的依赖。无论是glassfish项目当中提供的引用实现,或者apache cxf应该也可以。附上对于glassfish项目对jarxs参考实现的maven项目依赖。

<dependency>

<groupId>org.glassfish.jersey.bundles</groupId>

<artifactId>jaxrs-ri</artifactId>

<version>2.4</version>

</dependency>

注:JAXRS == Java API for RESTful Web Services

时间: 2024-10-25 19:24:58

tomcat web容器中,调用jersey client端报错的处理的相关文章

struts2 ,web.xml中配置为/*.action,运行报错Invalid &lt;url-pattern&gt; /*.action in filter mapp

首先,修改成: <filter-mapping>  <filter-name>struts2</filter-name>  <url-pattern>/*</url-pattern></filter-mapping> 是可以的. 引起此错误的原因如下: 这个对filter的基础知识的理解:容器只认 全名匹配,路径匹配,扩展名匹配./*.action  又是路径匹配,有时扩展名匹配. 容器没办法区分 解决方法:写*.action <

在visual studio 2010+中调用ffmpeg编译时 报错error LNK xxxx: 模块对于 SAFESEH 映像是不安全的。

解决该错误的方法: 1.右键单击该项目选择“属性”. 2.在属性页中选择:配置选项->链接器->命令行. 3. 在命令行的“其他选项”中输入/SAFESEH:NO. 4.点击确定,从新编译即可通过.

从读取properties文件说开去,浅谈web容器中类加载器

今天刚好有人让我写个通过读取properties连接数据库的小demo. 汗啊,普通项目中可以使用的文件读取,在web项目中总报空指针异常. 查阅了资料明白,赶紧记录下来,希望遇到此类问题的童鞋能引起重视. 废话不说,直接进入主题! 代码清单1: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.io.InputStream; import java.util.Properties; import org.apache.log4

Spring 在web 容器中的启动过程

1.对于一个web 应用,其部署在web 容器中,web 容器提供其一个全局的上下文环境,这个上下文就是 ServletContext ,其后面的spring IoC 容器提供宿主环境 2.在web.xml 中会提供有 contextLoaderListener.在web 容器启动时,会触发容器初始化事件,此时 contextLoaderListener 会监听到这个事件,其 contextInitialized 方法会被调用,在这个方法中,spring 会初始化一个启动上下文,这个上下文就被称

Web容器中DefaultServlet详解

Web容器中DefaultServlet详解 https://blog.csdn.net/qq_30920821/article/details/78328608 Web容器中DefaultServlet详解一.什么是defaultServlet 我们以最熟悉的Tomcat服务器为例.我们都知道Jsp和servlet都需要web容器才能运行.但是实际上呢我们的web应用中可以没有任何servlet或者jsp(至少表面上是这样的)只需要一个web.xml,设置在servlet 3.0中,这个也可以

spring源码研究之IoC容器在web容器中初始化过程

前段时间在公司做了一个项目,项目用了spring框架实现,WEB容器是Tomct 5,虽然说把项目做完了,但是一直对spring的IoC容器在web容器如何启动和起作用的并不清楚.所以就抽时间看一下spring的源代码,借此了解它的原理. 我们知道,对于使用Spring的web应用,无须手动创建Spring容器,而是通过配置文件,声明式的创建Spring容器.因此在Web应用中创建Spring容器有如下两种方式: 1. 直接在web.xml文件中配置创建Spring容器. 2. 利用第三方MVC

IOC容器在web容器中初始化——(一)两种配置方式

参考文章http://blog.csdn.net/liuganggao/article/details/44083817,http://blog.csdn.net/u013185616/article/details/52186184. 最近在研究IOC容器在web容器中初始化的过程.阅读了源码,参照了很多文章,在这里记录一下. 使用的web容器为tomcat7.spring的jar包为4.3.7.RELEASE版本. 我们可以通过web.xml配置文件web容器中声明spring容器.有以下两

tomcat下部署了多个项目启动报错java web error:Choose unique values for the &#39;webAppRootKey&#39; context-param in your web.xml files

应该是tomcat下部署了多个项目且都使用log4j. <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root".但最好设置,以免项目之间的名称冲突. 定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里. 然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中. 此参数用于后面的“Log4jConfigListener”

tomcat编译超过64k大小的jsp文件报错原因

今天遇到一个问题,首先是在tomcat中间件上跑的web项目,一个jsp文件,因为代码行数实在是太多了,更新了几个版本之后编译报错了,页面打开都是报500的错误,500的报错,知道http协议返回码的都知道,这是服务端的报错. jsp编译过程是先编译为servlet,然后再通过类加载器编译为.class文件,再执行为Servlet实例.这就是jsp的编译过程.所以jsp报500错误也可以理解,属于服务端的报错没什么好怀疑的. 服务端报错,肯定就是去console拿日志了.从CONSOLE拿到日志