Java Wicket形式:序列化对象类“ myClassName”时出错

时间:2018-07-03 16:51:42

标签: java forms listview serialization wicket

我有以下邪恶表格(清单)。表单的重点是输入评论消息,然后onSubmit将其保存到数据库中。

List<List<String>> modalHTML = new ArrayList<>();
List<Integer> modalIDlist = new ArrayList<>();
List<Integer> modalCounter = new ArrayList<>();
//...
final ListView listview = new ListView("modalListview", modalCounter) {
        @Override
        protected void populateItem(ListItem item) {
            Integer index = (Integer)item.getModelObject();

            final Label labelDiv = new Label("modalHTML1", modalHTML.get(index).get(0));
            labelDiv.setEscapeModelStrings(false);

            final Label labelDiv2 = new Label("modalHTML2", modalHTML.get(index).get(1));
            labelDiv2.setEscapeModelStrings(false);

            item.add(labelDiv);
            item.add(labelDiv2);

            //Create Form

            final TextArea<String> textAreaComment = new TextArea<>("textAreaComment", Model.of(""));

            final TextField<String> ffFileNameComment = new TextField<>("TfFileNameComment", Model.of(""));
            final TextField<String> tfFileAdressComment = new TextField<>("TfFileAdressComment", Model.of(""));     

            if(isUser) {
                tfFileNameComment.add(new AttributeModifier("style", "display: none;"));
                TfFileAdressComment.add(new AttributeModifier("style", "display: none;"));
            }

            final HiddenField<String> hiddenIDfield = new HiddenField<>("hiddenIDfield", Model.of(modalIDlist.get(index)+""));


            final Form<?> commentForm = new Form<Void>("commentForm") {
                @Override
                protected void onSubmit() {
                    String text = (String)textAreaComment.getModelObject();
                    String id = (String)hiddenIDfield.getModelObject();
                    System.out.println("Comment eingegeben: "+text+ " - id: "+id);

                    //write comment
                    try {
                        app.getUserDb().addComment(Integer.parseInt(id), user_name, text);

                    } catch (Exception e) {
                        System.out.println("Error form submit");
                    }

                };
            };

            commentForm.add(textAreaComment);
            commentForm.add(hiddenIDfield);
            commentForm.add(tfFileNameComment);
            commentForm.add(tfFileAdressComment);

            item.add(commentForm);

        }
    };
    add(listview);

该行:

app.getUserDb().addComment(Integer.parseInt(id), user_name, text);

引起了问题。加载页面时,控制台中将发生NotSerializableException错误(页面仍在加载中)。当我删除此行时,不会发生错误。

18:53:09.051 [http-nio-8080-exec-5] WARN  org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream - error delegating to writeObject : ."classpasth".WorkflowJDBC, path: /children
18:53:09.054 [http-nio-8080-exec-5] ERROR org.apache.wicket.serialize.java.JavaSerializer - Error serializing object class ."classpasth".BSWModuleOverview [object=[Page class = ."classpasth".BSWModuleOverview, id = 2, render count = 1]]
org.apache.wicket.WicketRuntimeException: A problem occurred while trying to collect debug information about not serializable object
    at org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:282) ~[wicket-core-7.1.0.jar:7.1.0]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at org.apache.wicket.serialize.java.JavaSerializer.serialize(JavaSerializer.java:78) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.pageStore.AbstractPageStore.serializePage(AbstractPageStore.java:133) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.pageStore.DefaultPageStore.createSerializedPage(DefaultPageStore.java:281) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:61) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.storeTouchedPages(PageStoreManager.java:403) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:193) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:76) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:74) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:270) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.Application$3.onDetach(Application.java:1786) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:105) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:101) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.util.listener.ListenerCollection$1.notify(ListenerCollection.java:120) [wicket-util-7.1.0.jar:7.1.0]
    at org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:144) [wicket-util-7.1.0.jar:7.1.0]
    at org.apache.wicket.util.listener.ListenerCollection.reversedNotifyIgnoringExceptions(ListenerCollection.java:113) [wicket-util-7.1.0.jar:7.1.0]
    at org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:100) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:645) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:594) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:297) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284) [wicket-core-7.1.0.jar:7.1.0]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.7]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.7]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:157) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176) [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.7]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.7]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [catalina.jar:9.0.7]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:9.0.7]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) [catalina.jar:9.0.7]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) [catalina.jar:9.0.7]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.7]
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651) [catalina.jar:9.0.7]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:9.0.7]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.7]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:407) [tomcat-coyote.jar:9.0.7]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:9.0.7]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754) [tomcat-coyote.jar:9.0.7]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376) [tomcat-coyote.jar:9.0.7]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.7]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_171]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_171]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.7]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]
Caused by: java.io.NotSerializableException: ."classpasth".WorkflowJDBC
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at java.util.ArrayList.writeObject(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at java.util.LinkedHashMap.internalWriteEntries(Unknown Source) ~[?:1.8.0_171]
    at java.util.HashMap.writeObject(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at java.util.ArrayList.writeObject(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.writeObjectOverride(CheckingObjectOutputStream.java:675) ~[wicket-core-7.1.0.jar:7.1.0]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:271) ~[wicket-core-7.1.0.jar:7.1.0]
    ... 79 more
Caused by: java.io.NotSerializableException: ."classpasth".WorkflowJDBC
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at java.util.ArrayList.writeObject(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at java.util.LinkedHashMap.internalWriteEntries(Unknown Source) ~[?:1.8.0_171]
    at java.util.HashMap.writeObject(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at java.util.ArrayList.writeObject(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject0(Unknown Source) ~[?:1.8.0_171]
    at java.io.ObjectOutputStream.writeObject(Unknown Source) ~[?:1.8.0_171]
    at org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:260) ~[wicket-core-7.1.0.jar:7.1.0]
    ... 79 more
18:53:09.065 [http-nio-8080-exec-5] WARN  org.apache.wicket.pageStore.AbstractPageStore - Page [Page class = ."classpasth".BSWModuleOverview, id = 2, render count = 1] cannot be serialized. See previous logs for possible reasons.
18:53:09.065 [http-nio-8080-exec-5] WARN  org.apache.wicket.pageStore.DefaultPageStore - Page [Page class = ."classpasth".BSWModuleOverview, id = 2, render count = 1] cannot be serialized. See previous logs for possible reasons.

有人可以帮我弄清楚我在做什么错吗?

2 个答案:

答案 0 :(得分:0)

在开发模式下,Wicket为NotSerializableException打印出非常详细的错误消息。它将打印出类似树的符号,指向无法序列化的确切成员字段。

如果您给了我们真实的类名和完整的错误消息,那么我们将能够告诉您问题到底出在哪里!

答案 1 :(得分:0)

我能够解决问题:
对于我的类'WorkflowJDBC'和所有相关类,我没有实现“ Serializable”。 我实现了Serializable后,没有发生该错误。

我现在想知道为什么在上线时没有发生错误

app.getUserDb().addComment(Integer.parseInt(id), user_name, text);

已删除。因为它与类'WorkflowJDBC'没有任何连接。