Recently I’ve been working more and more with JDeveloper Extension Projects. When working with Extension Projects, you deploy to your target platform a lot. I’ve noticed that sometimes, your JDeveloper Platform gets confused with this and the extension you’re working on doesn’t load correctly.
For example, you deploy your extension to the target platform, you follow this deployment in the log file and you see it got deployed successfully. After this, you debug the extension and wait for JDeveloper to start up. However, when trying to debug the extension, you notice something isn’t working.
While working on the ADF EMG Audit Rules extension, I noticed that sometimes none of the rules where configured in the Audit menu under Tools -> Preferences. This means that the whole extension wasn’t installed correctly.
The easiest way to solve this, was for me to clear the JDevelopers cache manually. To do so follow the following steps:
First close your JDeveloper, to make sure JDeveloper doesn’t lock any files. Then go to your Oracle_Home where you installed JDeveloper. There is a subfolder \Oracle_Home\jdeveloper\jdev\extensions:
In here, locate the extension you’re working on, and delete this jar file. In my case this was the ADF EMG Audit Rules extension.
Next navigate to your JDevHome and go into your system folder of JDeveloper:
In here you see your installed extensions, but you should be able to locate a system_cache directory as well. Delete this whole directory.
After deleting this directory, go deeper into the system folder. You should be able to find the following location:
After deleting these directories, startup JDeveloper again and open your project. Don’t forget to deploy to the TargetPlatform again and after this run or debug your extension.
This should’ve done the trick and you should be able to run your extension again. However, during the last few weeks, it happened to me one time that even this didn’t help and I had to delete the whole system folder instead of only the system_cache.
You can delete this folder without any problems, because JDeveloper will recreate it for you, but you will lose your settings, preferences and configurations you made to JDeveloper or the integrated WebLogic server.