2015-04-06 409 views
1

在你说“DUPLICATE”之前,我向你保证我看过其他人。它们与我所要求的完全不同。所以我有网络应用程序工作,更换齿轮,并回到它,现在我得到这个。HTTP状态500 - servlet的Servlet.init()异常

javax.servlet.ServletException: Servlet.init() for servlet com.xxxx.xxx.xxx.AppConfig threw exception 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) 
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
root cause 

java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map; 
    org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:309) 
    org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:315) 
    org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170) 
    org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) 
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 

我看着几人都具有其它类似的问题,总有像RequestedMaping(blah)但多数民众赞成在东西是不同的。我正在做一个宁静的服务,而我在我的项目中所有的工作是Path(blah)。我认为他们是相似的,但那就是它。其他问题的解决方案之一是pu *.do或类似请求的映射中的内容,但即使我有我的工作,我从来没有在项目中。

我认为我所做项目的唯一区别是增加了第三级到了AppConfig getClasses()这里:

@ApplicationPath("/rest") 
public class AppConfig extends Application { 
    private static final Logger LOGGER = LoggerFactory.getLogger(AppConfig.class); 

    /** 
    * @see Application#getClasses() 
    */ 
    @Override 
    public Set<Class<?>> getClasses() { 
     Set<Class<?>> s = new HashSet<Class<?>>(); 
     s.add(EntityManagementResource.class); 
     s.add(AccumuloInterfaceResource.class); 
     s.add(JacksonJsonProvider.class); 
     return s; 
    } 

我没有足够的AccumuloInterfaceResource.class以前有,现在怎么办?

感谢您的任何。

回答

0

此:java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;

看起来像你对我有文件中加载两个JAX-RS库。你第一次跑,它使用了你所期望的。现在你回来了,首先找到另一个。

您需要看看您的类路径,看看有哪些贡献JAX-RS库。我敢打赌你至少有两个。

在Java EE 7中添加了getProperties()方法。因此,您可能仍然存在符合Java EE 6的工件。

+0

谢谢,我会研究它。 – erp

+1

没错,一个同事更新了pom,就像你所描述的那样。谢谢! – erp

相关问题