Jersey 1.17 is released

We have released the 1.17 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.

For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.

Here is the list of notable changes (versions 1.13-1.17):


  • added support for notifying ResponseListener implementations about thrown unmapped application exceptions (see ResponseListener#onError) (JERSEY-1642)
  • fixed the hardcoded package in project created using the jersey-quickstart-grizzly2 archetype (JERSEY-1618)
  • accepted contribution by Arul Dhesiaseelan – Simple Server version update (4.1.20 -> 5.0.4) (JERSEY-1641)


  • HTTPBasicAuthFilter/HTTPDigestAuthFilter constructors allowing you to avoid storing plain password value in a String variable (support for passwords represented as byte[]) (JERSEY-1601)
  • fix for OPTIONS call to a webservice method with a leading “/” in @Path annotation
  • accepted contribution by Gerard Davison – Automatic JSON-Schema Generation (for more information on this topic take a look at this blog post)


  • enabled InputStream parameter to be set on a WADL generator (JERSEY-1409)
  • Multipart.BodyPart now allows setting headers other than those starting with Content-* (JERSEY-1448)
  • applied the patch from Charlie Groves to unwrap WebApplicationException from the Guice ProvisionException (JERSEY-1386)


  • fix for getting file name from the content disposition header of multi-part messages sent by Internet Explorer (JERSEY-759)
  • support for package scanning (resource & provider discovery in WAR archives) in OSGi environment (JERSEY-881)
  • WADL: Matrix params generation moved to “resource” element to not violate WADL spec (JERSEY-1336)
  • added property to WadlGeneratorGrammarsSupport which controls whether Jersey generated grammars should be used when user explicitly sets its own grammar (JERSEY-1230)


  • support for retrieving services defined in META-INF/services for Jersey extensions (oauth, multipart, …) that has other version as used Jersey Core module. (JERSEY-1124)
  • added Vary header in GZIPContentEncodingFilter (JERSEY-1228)
  • added ResourceContext binding to Guice (JERSEY-1219)
  • extracting Form parameters when consumed by filters enabled for POST, PUT and other methods as well (JERSEY-1200)
  • added SubjectSecurityContext to enable subject-based security
  • JSON support refactored + support for MOXy as JAXB provider

For feedback send email to: (archived here)

or log bugs/features here.

  • Shiv

    Hi, I can see Jersey 1.17 implements JAX-RS 1.1. My question is, can I use it with JavaEE 5?

    • Michal Gajdos

      I have never tried that but I guess the basics might work. What wouldn’t work for sure is Servlet 3 integration and CDI. You’d need to bundle all Jersey 1.x dependencies with your app though because JAX-RS 1.1 is not a part of Java EE 5 (it’s been introduced in Java EE 6).