Класс def не найден из кода Котлина

У меня есть код Kotlin:

cluster.removeIf { t: SolutionElement -> t.timeStart < minimumDate } //Clusters.kt:66 

Где кластерный объект – это котлин. Переменный список. Когда я пытаюсь запустить этот код в стандартной среде Google App Engine, я получил сообщение об ошибке:

 java.lang.NoClassDefFoundError: java/util/function/Predicate at com.google.appengine.runtime.Request.process-4a2a3dcd2b375db7(Request.java) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:820) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.lang.ClassLoader.loadClass(ClassLoader.java:375) at net.toolla.teamly.services.matcher.Clusters.removeExpired(Clusters.kt:66) at net.toolla.teamly.services.matcher.Clusters.pickMore(Clusters.kt:31) at net.toolla.teamly.services.matcher.BestMatchWorker.getSolutionElements(BestMatchWorker.java:232) at net.toolla.teamly.services.matcher.BestMatchWorker.match(BestMatchWorker.java:116) at net.toolla.teamly.services.matcher.MatcherService.doPost(MatcherService.java:37) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461) at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:297) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:320) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:312) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: java.util.function.Predicate at com.google.appengine.runtime.Request.process-4a2a3dcd2b375db7(Request.java) 

В build.gradle для этого модуля у меня было:

 compileKotlin{ kotlinOptions{ jvmTarget = 1.6 } } 

Без этой ошибки параметра:

 Uncaught exception from servlet java.lang.NoClassDefFoundError: net/toolla/teamly/services/matcher/Clusters$removeExpired$1 

Где «removeExpired» – это имя функции, которая содержит указанную выше строку.

Я изменил код выше на несколько менее удобный и более старый синтаксис, но было бы здорово знать, как использовать некоторые современные методы.

Класс java.util.function.Predicate был введен в Java 8. Запустите его с 8. О th

 ... * @since 1.8 */ @FunctionalInterface public interface Predicate<T> { 

Об этой ошибке:

java.lang.NoClassDefFoundError: net / toolla / teamly / services / matcher / Clusters $ removeExpired $ 1

Убедитесь, что у вас есть этот класс на classpath классу

Вместо removeIf , который является методом JDK 8 и поэтому не поддерживается в JDK 6, вы можете использовать метод removeAll из стандартной библиотеки Kotlin, которая поддерживается во всех версиях JDK.