Hi all,
I have been puzzled by the error below and still unable to figure out what might be causing it...
I have started using Java 8 features in my latest project and more specifically the streams api and lambda expression. I was able to narrow down the cause of the error being the lambda expression.
I get the following error when I call a method in a backing bean that has any lambda notation:
java.lang.ClassFormatError: Class file version does not support constant tag 18 in class file <package><MyBackingBean>$beaVersion0_18
The project is a pretty simple web application that has JSF/ADF faces in the view, Java EE, JPA EJB in model etc. Nothing special related to the way the project is setup. What's even more frustrating is that I get this error only when I invoke lambda expressions in the View/Controller layer. In other words, if I have the line of code that causes the error moved to model layer, that code will run fine. So it must be something that is related to JSF/ADF faces is my assumption, but I am unable to figure out what that may be. I have searched Oracle support site and have found nothing that is similar to my issue.
Also, a little more details that may help... I am getting this error only when I run the application through JDeveloper (in run and debug mode). If I generate an EAR and deploy that ear to a weblogic server it runs fine. The application would even run in my integrated (local) weblogic server (the same one that jdeveloper would start) if I start it using the startWebLogic.cmd script in default domain/bin and then deploy the same ear file. So, that makes think that it is a jdeveloper issue that is causing this.
It is very frustrating to not be able to use java 8 features or in my case only use them in model layer or only by manually deploying an ear. I wanted to ask the community if anybody else has come across this issue and/or any pointers on how to troubleshoot.
Any feedback is much appreciated!
Thanks!