[JAX_RS_SPEC-330] JAX-RS application Failed to load and run, when using jersey Application servlet class defined inside the web.xml (v3). Created: 04/Jan/13  Updated: 18/Jun/13  Resolved: 07/Jan/13

Status: Closed
Project: jax-rs-spec
Component/s: model api, server
Affects Version/s: 2.0
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: Mohamed Taman Assignee: Unassigned
Resolution: Invalid Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Windows 7 Professional SP1.
GlassFish 4_b69

Tags: adoptajsr


When I was testing the section 2.3.2 Servlet for the first part which dictates:

• If no Application subclass is present, JAX-RS implementations are REQUIRED to dynamically add a servlet and set its name to

and to automatically discover all root resource classes and providers which MUST be packaged with the application. Additionally, the application MUST be packaged with a web.xml that specifies a servlet mapping for the added servlet. An example of such a web.xml file is:

1 <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
4 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
5 <servlet>
6 <servlet-name>javax.ws.rs.core.Application</servlet-name>
7 </servlet>
8 <servlet-mapping>
9 <servlet-name>javax.ws.rs.core.Application</servlet-name>
10 <url-pattern>/myresources/*</url-pattern>
11 </servlet-mapping>
12 </web-app>

The following JAX-RS2 app bellow was failed to be registered and run by the Glassfish v4_b69, while it runs on Glassfish, by raising the following info message "[failed to localize] jersey.app.registered.classes(javax.ws.rs.core.Application, [])|#]" which it should be error not info message also.

Full error:

[#|2013-01-05T00:29:37.121+0200|INFO|glassfish4.0|org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer|_ThreadID=35;_ThreadName=admin-listener(1);_TimeMillis=1357338577121;_LevelValue=800;|[failed to localize] jersey.app.registered.classes(javax.ws.rs.core.Application, [])|#]

[#|2013-01-05T00:29:37.142+0200|INFO|glassfish4.0|javax.enterprise.web|_ThreadID=35;_ThreadName=admin-listener(1);_TimeMillis=1357338577142;_LevelValue=800;_MessageID=AS-WEB-00324;|Loading application [JAX-RS_v2.0_Test] at [/rs2/test]|#]

Application Details:


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"

Resource Class:

package eg.taman.jcp.specs.rs2.test.app;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;


  • Created with IntelliJ IDEA.
  • User: mohamed_taman
  • Date: 1/4/13
  • Time: 11:44 PM
  • This class intended to test that there is no application sub class exists and the jax-rs 2 implementation should serve this
  • resource, by adding in the web.xml the Application class and its servlet mappings.

public class GreeterResource {

public String greeting()

{ return "Hello world"; }


Comment by Santiago Pericas-Geertsen [ 07/Jan/13 ]

This is not an issue on the JAX-RS specification but on the RI (Jersey). It should be filed at jersey.java.net.

Generated at Tue May 26 04:46:43 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.