follow this workaround solves the problem (temporarily) Workaround: use -Xsam-conversions=class
https://youtrack.jetbrains.com/issue/KT-46359#focus=Comments-27-4862857.0-0 <plugins> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <configuration> <args> <arg>-Xsam-conversions=class</arg> </args> </configuration> </plugin> </plugins> Bas Gooren <b...@iswd.nl> 於 2021年5月3日 週一 下午4:22寫道: > Hi! > > Probably related to this: > > https://youtrack.jetbrains.com/issue/KT-46373 > > "Since 1.5, SAM-converted lambdas are generated using invokedynamic with > bootstrap method from java.lang.invoke.LambdaMetafactory. > Resulting proxy classes are not Serializable by default.” > > So your lambda’s in WizardPage are no longer serializable by default due > to your upgrade to kotlin 1.5.0. > > So I’d recommend downgrading your Kotlin for now. > > (I’m not an active user of kotlin, so I found this information with 10 > minutes of Googling) > > Met vriendelijke groet, > Kind regards, > > Bas Gooren > > Op 30 april 2021 bij 07:06:45, smallufo (small...@gmail.com) schreef: > > more detail log : > > 2021-04-30 12:43:44.076 [http-nio-8080-exec-2] WARN > o.a.w.c.u.o.c.CheckingObjectOutputStream.internalCheck - error delegating > to writeObject : Non-serializable lambda, path: /children/[write:1]/data > 2021-04-30 12:43:44.078 [http-nio-8080-exec-2] WARN > o.a.w.c.u.o.c.CheckingObjectOutputStream.internalCheck - error delegating > to writeObject : Non-serializable lambda, path: /children/[write:2] > 2021-04-30 12:43:44.079 [http-nio-8080-exec-2] WARN > o.a.w.c.u.o.c.CheckingObjectOutputStream.internalCheck - error delegating > to writeObject : Non-serializable lambda, path: /children > 2021-04-30 12:43:44.099 [http-nio-8080-exec-2] ERROR > o.a.w.s.j.JavaSerializer.serialize - Error serializing object class > destiny.WizardPage [object=[Page class = destiny.WizardPage, id = 1, > 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:390) > > at > java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349) > > at > org.apache.wicket.serialize.java.JavaSerializer.serialize(JavaSerializer.java:82) > > at > org.apache.wicket.pageStore.AbstractPageStore.serializePage(AbstractPageStore.java:133) > > at > org.apache.wicket.pageStore.DefaultPageStore.createSerializedPage(DefaultPageStore.java:281) > > at > org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:61) > > at > org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.storeTouchedPages(PageStoreManager.java:482) > > at > org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:214) > > > smallufo <small...@gmail.com> 於 2021年4月30日 週五 下午12:52寫道: > > > I was using Kotlin 1.4.32 with wicket 8.11 > > but after upgrading to Kotlin 1.5.0 , it throws : > > > > Caused by: java.io.NotSerializableException: Non-serializable lambda > > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > > Method) > > at > > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) > > > at > > > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > at java.base/java.lang.reflect.Method.invoke(Method.java:564) > > at > > > java.base/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1196) > > > at > > > java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1523) > > > at > > > java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1444) > > > at > > > java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1187) > > > at > > > java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1579) > > > > > > > what may go wrong here ? > > > > The wicket mode is DEPLOYMENT > > > > <filter> > > <filter-name>wicket</filter-name> > > > <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> > > <init-param> > > <param-name>applicationClassName</param-name> > > <param-value>foo.bar.MyApplication</param-value> > > </init-param> > > <init-param> > > <param-name>configuration</param-name> > > <param-value>DEPLOYMENT</param-value> > > </init-param> > > </filter> > > <filter-mapping> > > <filter-name>wicket</filter-name> > > <url-pattern>/app/*</url-pattern> > > </filter-mapping> > > > > > > @MacMiniM1 ~ java -version > > openjdk version "15.0.2" 2021-01-19 > > OpenJDK Runtime Environment Zulu15.29+15-CA (build 15.0.2+7) > > OpenJDK 64-Bit Server VM Zulu15.29+15-CA (build 15.0.2+7, mixed mode) > > > > > > > > Thanks > > > > > >