Wading through the JavaEE ocean!!

When you install the MAF extension and restart JDeveloper, you will be prompted to specify the location of a JDK 1.8 installation. Once you configure this, JDeveloper is meant to create a new Java SE profile and use this for MAF applications. It appears that this process doesn’t always work very well. In my case, I tried uninstalling and reinstalling JDeveloper multiple times with the same results.

If JDeveloper fails to do the above, there are a few symptoms

1) JDeveloper will prompt again multiple times for a JDK 1.8 location, especially when creating a new MAF application
2) Compiling your MAF application shows the following errors

The project 'D:\Work\JD12\POC\JDERequisitionsMobile\ApplicationController\ApplicationController.jpr' has been configured with an unsupported JDK. Please make sure the "MAF JDK 1.8 Compact 2 Profile" is being used.
Type or variable 'oracle.adfmf.application.LifeCycleListener' not found
Type 'LifeCycleListener' not found

To fix this issue, here’s what you do

1) Create a new Java SE definition in JDeveloper pointed at JDK 1.8 and name it “MAF JDK 1.8 Compact 2 Profile”.
2) In addition to the Java SE libraries, add all the jars under $ORACLE_HOME/jdeveloper/jdev/extensions/oracle.maf/lib to the classpath of the Java SE definition
3) Ensure that your projects use this new Java SE definition. Note: Any new MAF application you create will automatically use this Java SE profile.