Hallo zusammen,
FirstSpirit-Version: 5.2.212.71463
in einem Module habe ich einen Service implementiert, dieser Service enthält einige Klassen und verwendet Java 8-Features wie bspw. Lambdas. Dies funktioniert auch soweit.
Ein Problem tritt allerdings auf, wenn die Implementierung des Service einen Lambda-Ausdruck enthält (also die Klasse, die im <class>-Element des Service definiert ist).
Dann erhalte ich folgenden Stack-Trace:
java.lang.IllegalStateException: Failed reading 'jar:file:<JAR-File-Name>' - illegal class file format? - java.lang.ArrayIndexOutOfBoundsException
at de.espirit.firstspirit.module.TypeCollectorImpl.collect(TypeCollectorImpl.java:52)
at de.espirit.firstspirit.module.ClassScanner$ClassScannerImpl.check(ClassScanner.java:105)
at de.espirit.firstspirit.module.ClassScanner.implementsOrExtendsClass(ClassScanner.java:71)
at de.espirit.firstspirit.module.ClassScanner.implementsOrExtendsClass(ClassScanner.java:50)
at de.espirit.firstspirit.server.module.ModuleManagerImpl.getComponents(ModuleManagerImpl.java:1196)
at de.espirit.firstspirit.server.module.ModuleManagerImpl.getComponents(ModuleManagerImpl.java:1162)
at de.espirit.firstspirit.client.GadgetComponentServiceImpl.init(GadgetComponentServiceImpl.java:52)
at de.espirit.firstspirit.client.GadgetComponentServiceImpl.classLoaderChanged(GadgetComponentServiceImpl.java:45)
....
Wenn ich den Lambda-Ausdruck entsprechend wieder ersetze funkionert wieder alles.
Ist dies ein bekanntes Problem/Einschränkung bzw. kann das ggf. behoben werden?
Schöne Grüße
Stefan Brauneis