2017-11-22 25 views
1

새로 설치 한 Debian 9 시스템에서 Java 백엔드가 더 이상 제대로 작동하지 않습니다. 작업하는 일부 통화, 다른 사람이 오류 스택 실패 :Java REST API가 "org.glassfish.jersey.server.ContainerException : java.lang.NoSuchFieldError : ACCEPT_CASE_INSENSITIVE_PROPERTIES"오류를 발생시킵니다.

org.glassfish.jersey.server.ContainerException: java.lang.NoSuchFieldError: ACCEPT_CASE_INSENSITIVE_PROPERTIES at org.glassfish.jersey.servlet.internal.ResponseWriter.rethrow(ResponseWriter.java:278) at org.glassfish.jersey.servlet.internal.ResponseWriter.failure(ResponseWriter.java:260) at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:509) at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:334) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:267) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:748)

그것은이 작동하고 같은 가져 오기, 나에게 내 코드이 다른 maschines합니다에 무슨 일이 일어나고 하나의 힌트를 제공하지 않습니다.

프로젝트가 제대로 작동하는 서버와 비교하여 사용한 라이브러리에 차이점을 찾을 수 없습니다. 또한 서버와 컴퓨터에서 동일한 자바 버전이 사용됩니다.

의견이 있으신 분? 감사!

답변

1

글래스 피쉬 (Glassfish)가 어떻게 든 이전 버전의 잭슨을 선택하는 클래스 패스 문제 일 가능성이 큽니다. ACCEPT_CASE_INSENSITIVE_PROPERTIES 필드는 Jackson 2.5에서 도입되었으므로 클래스 패스에서 이전 버전을 찾으십시오.

Versioned 인터페이스 (예 : ObjectMapper)를 구현하는 클래스를 찾아 Jackson 버전의 로깅을 시도해보십시오. 그것은 계급 이론이 견디는지를 알려줄 것입니다.

+0

안녕하세요 헨릭, 답변 해 주셔서 감사합니다. 프로젝트에서 jackson의 모든 종속성을 제거 했는데도 jackson의 버전은 프로젝트에서 Jackson-libs가없는 2.8.7입니다 ... 동일한 프로젝트가 Windows dev maschines 및 Linux 서버에서 작동하지만, 내 데비안 PC에는 없어요. – newnoise

+0

다른 아이디어가 있습니까? 이미 이클립스의 다른 버전을 사용해 보았지만 아무 도움이되지 않습니다 ... – newnoise

+0

아마 [이 질문에 언급 된] (https://stackoverflow.com/q/35769351/13075)? – Henrik