1
Simple XML API를 사용하여 Android 앱에서 서블릿으로 전송되는 XML 데이터를 직렬화 및 비 직렬화합니다. 역 직렬화가 Android 앱에서 정상적으로 작동합니다. 같은 코드가 서블릿에서 사용되는 때 나는 다음과 같은 오류가 발생합니다 :Simple XML API를 사용하려고 할 때 "ClassNotFoundException : org.simpleframework.xml.Serializer"
SEVERE: Servlet.service() for servlet [servlettest.ServletTest] in context with path [/test] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.simpleframework.xml.Serializer
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at servlettest.ServletTest.doPost(ServletTest.java:104)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
하이라이트 내가 jar 파일이 이클립스에 수입되어 있는지 확인 만든 java.lang.ClassNotFoundException: org.simpleframework.xml.Serializer
것. "속성"윈도우의 "주문 및 내보내기"탭 아래에 체크 표시가되어 있습니다. 여기
는 서블릿에 안드로이드에서 잘 작동하지만 실패 코드 :Serializer serializer = new Persister();
File source = new File("/home/kk/workspace/testfile.xml");
Reg_info_xml parse_xml = serializer.read(Reg_info_xml.class, source);
String name = parse_xml.getUser_name();
System.out.print(name);
행운을 빈다. 그 폴더에 넣었지만 여전히 같은 오류가 발생합니다. 나는 외부 항아리로 그것을 수입한다, 그렇지? –
알았습니다! Eclipse에서/lib 디렉토리를 새로 고쳐 jar 파일을 감지하도록해야했습니다. 감사합니다. :) –