Change the JDeveloper system directory tools 15649 6401

Change the JDeveloper system directory

De system directory is where JDeveloper stores the user specific settings, configurations and also (for 11g) the default domain of the embedded weblogic server. It uses the JDEV_USER_HOME environment variable to dettermine the location. If it’s not set is uses a default directory, for 11g on windows XP that’s <user dir>\Application Data\JDeveloper\systemXXX (XXX stands for the exact IDE version, e.g. system11.1.1.3.37.56.60 for 11gPS2, 11.1.1.3.0) and for 10g that’s <JDev install dir>\jdev\system (no version included). Note that the Application Data directory contains a space. And although this doesn’t prevent JDeveloper and the embedded weblogic from proper functioning, it may sometimes leads to an issue, e.g. that diagnostics (adrs) cannot create an image.

To change this directory, just add the JDEV_USER_HOME environment variable and set it to the required directory, that must not contain a space in the name and when you restart JDeveloper it will use that directory. However, you’ll notice that JDeveloper will now consider itself an almost new installation, without your custom configuration and no default weblogic domain but with installed extensions. It should be able to copy the old systemXXX directory to the new location but didn’t work with me and upgrade settings from a previous version didn’t work too. So you have to do the configuration again, but luckily the weblogic default domain is created automatically with the first deployment.

Be aware that when you have multiple 10g installations you should not set the environment variable because 10g doesn’t add a version number to the system directory and you’ll end up with one directory for all the 10g installations which I’m sure will cause serious problems. In this case you should can change the directory per 11g installation by setting the ide.user.dir property (use forward slashes) in the <middleware install dir>\jdeveloper\jdev\bin\jdev.boot file or add it to the startup script with -J-Dide.user.dir=<some directory>.