2014-07-23 6 views
0

프로젝트의 빌드 경로에 www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm에서 다운로드 한 필수 JAR 파일을 포함 시켰습니다.java.lang.NoSuchMethodError : org.json.JSONObject.getNames 예외

그러나이 오류를 해결할 수 없습니다. 그 밖의 무엇이 문제를 일으킬 수 있습니까?

java.lang.NoSuchMethodError: org.json.JSONObject.getNames(Lorg/json/JSONObject;)[Ljava/lang/String; 
at com.comp.cloud.portal.zRPCEngine.zCompRPC(zRPCEngine.java:641) 
at com.comp.cloud.portal.zCompManager.CompSubscribe(zCompManager.java:1480) 
at com.comp.cloud.portal.zCompManager.AddCompHD(zCompManager.java:310) 
at com.comp.cloud.portal.zCompManager.LoadInventory(zCompManager.java:96) 
at com.comp.cloud.portal.zCompCloudPortalUI.Login(zCompCloudPortalUI.java:333) 
at com.comp.cloud.portal.portlets.Login.ExecuteLogin(Login.java:333) 
at com.comp.cloud.portal.portlets.Login$button_login_clicked.buttonClick(Login.java:234) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508) 
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198) 
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161) 
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:984) 
at com.vaadin.ui.Button.fireClick(Button.java:393) 
at com.vaadin.ui.Button$1.click(Button.java:57) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168) 
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118) 
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:295) 
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:188) 
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:93) 
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41) 
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408) 
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:237) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Thread.java:744) 
+1

오류는 분명합니다. 메서드가 없습니다. 일반적인 실수는 종속성 병의 잘못된 버전입니다. – hutingung

답변

1

당신이 당신의 프로젝트 빌드 경로에 항아리를 추가 한 수 있지만, 당신은 톰캣에 배포 된 전쟁으로 그것을 번들되지 않습니다

내 스택 추적은 다음과 같습니다. 편집 : 이전 버전의 jar 파일을 번들하거나 jar 이전 버전을 애플리케이션 클래스 경로에서 볼 수 있습니다.

+0

클래스 패스에 병이 있다고 생각합니다. 그렇지 않은 경우 NoSuchMethodError 대신 ClassNotFoundException이 발생합니다. – hutingung

+0

예, 병이 틀 렸습니다. 여전히 2 개의 버젼, 하나는 실행시에 더 오래된 것이고, 또 하나는 빌드시에 올바른 버젼입니다. – jfno