Jakarta ee JAX-RS应用程序子类未注册

Jakarta ee JAX-RS应用程序子类未注册,jakarta-ee,tomcat,jax-rs,servlet-3.0,Jakarta Ee,Tomcat,Jax Rs,Servlet 3.0,我试图在Tomcat7.0.34.0上使用Servlet3.0类开发一个RESTful Web应用程序,但似乎没有任何效果。我以前使用Jersey ServletContainer方法并在web.xml中声明所有REST服务的应用程序都没有问题 我当前的应用程序子类: package aaa; @ApplicationPath("/test") public class ApplicationConfig extends Application { @Override publ

我试图在Tomcat7.0.34.0上使用Servlet3.0类开发一个RESTful Web应用程序,但似乎没有任何效果。我以前使用Jersey ServletContainer方法并在web.xml中声明所有REST服务的应用程序都没有问题

我当前的应用程序子类:

package aaa;

@ApplicationPath("/test")
public class ApplicationConfig extends Application
{
    @Override
    public Set<Class<?>> getClasses ()
    {
        Set<Class<?>> resources = new java.util.HashSet<Class<?>> ();
        resources.add (aaa.TestResource.class);
        return resources;
    }
}
当我尝试部署应用程序时,Tomcat告诉我上下文已重新加载:

INFO: Reloading Context with name [/WebApplication1] has started
Nov 10, 2013 7:06:25 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/WebApplication1] is completed
web应用程序本身已经部署(我可以访问它的JSP页面)——但是,“测试”资源仍然不可用。我尝试了所有可能的URL,但只得到了404的响应。应用程序配置似乎从未加载过

有趣的一点:根据中的建议,我尝试添加一个不带任何字符的小型web.xml并删除@ApplicationPath。结果是一个NullPointerException,这正是我在Servlet2.x环境中所期望的行为(没有指定类,因此类加载器崩溃)

我在这里不知所措。有没有关于我做错了什么的建议


PS:我使用的是NetBeans 7.3.1,项目是[Java Web->Web应用程序->Java EE 6 Web],没有额外的库,也没有上下文/依赖项注入。

您的
test
资源是在
TestResource
类中定义的,而重写的
getClasses
方法只返回一个包含
simpletstresource.class
的集合。虽然我不知道SimpletestResource是什么样子,但是AFAIK
@Path
并没有被继承。因此,我认为您应该将
TestResource.class
放在该集中


使用NetBeans 7.4在Tomcat 7.0.27上进行了尝试和测试。添加了库:JAX-RS 2.0和Jersey 2.0。

我没有看到子类。请告诉我们<代码> > SimeTestReals的代码。@ LutZurn抱歉,我在发布问题时实际上将SimeTestRestor改名为TestRoad,并且忘记更正我发布的代码。ApplicationConfig确实正确地添加了TestResource—现在编辑问题以反映它。这是我的一个错误:代码实际上在
ApplicationConfig
中添加了
TestResource
。我已经更新了这个问题。对不起。
INFO: Reloading Context with name [/WebApplication1] has started
Nov 10, 2013 7:06:25 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/WebApplication1] is completed