This has been covered before by other Oracle blogs, but for our mobile customers it’s worth restating.
From time to time the requirement comes up from our customers, how do I install 2 separate versions of JDeveloper? And sometimes more specifically how do I install two instances of the same version of JDeveloper?
Let’s address the first question.
How to install 2 *different* versions of JDeveloper?
If you want to install 2 separate versions of JDeveloper, say JDeveloper 18.104.22.168.0 and 22.214.171.124.0, this can be easily achieved at installation time. On installing each version of JDeveloper, when the installation wizard prompts you, specify a *different* installation directory for each.
What you should not do is install them in the same directory.
Important to the discussion coming up, it’s worth noting that each JDeveloper installation maintains its “System” directory, that is a directory containing it’s temporary files & configuration files, by default in separate locations. As such if you have JDev 126.96.36.199.0 and 188.8.131.52.0 installed separately, under Windows 7+ you will have the following directories:
And under a Mac these directories:
How to install 2 versions of the *same* version of JDeveloper?
Sometimes rather than using 2 different versions of JDeveloper, we want to install the same version twice, essentially 2 instances. A common reason for doing this is you maybe using JDeveloper with multiple extensions, and you want to maintain separate JDeveloper instances for each extension. For example you might want to support 2 different versions of the MAF extension which are currently both on JDeveloper 184.108.40.206.0.
To achieve this is a little more tricky because of the “System” directory we talked about in the previous section. While different versions of JDev have their own default System directory with a specific version number for that release, two instances of the same version of JDeveloper will clash as they will attempt to use the same versioned default System directory.
The following steps will show you how to install a JDeveloper instance such that it doesn’t use the default System directory, but one of your choosing, nicely avoiding the clash. We’ll assume you’re installing JDeveloper 220.127.116.11.0 twice.
1. Install JDeveloper 18.104.22.168.0 the usual way, but ensure the JDeveloper installation directory is unique for the installation. For example under Windows I might choose to install two instances of JDev 22.214.171.124.0 under:
And alternatively under a Mac:
You might want to use better names than Instance 1 & 2, but it will serve our purpose in describing the steps here.
2. When the installation process is complete, *dont* allow JDeveloper to start, just complete the installation process and allow it to close naturally.
3. Via your Windows Explorer or Mac Finder, create an alternative directory for where the JDev instance’s System directory will go.
e.g. For Windows:
e.g. For Mac:
4. In the JDeveloper home, locate /jdev/bin/jdev.boot and open it in your favourite text editor
5. Locate the ‘ide.user.dir.var’ property, and rename it to ‘ide.user.dir’ (yes, drop the dot var)
6. Change the value for ‘ide.user.dir’ to include the directory you created in the previous step, using backslashes for the directory path regardless if it’s for Windows or Mac.
e.g. For Windows
e.g. For Mac
7. Save your changes and close the file
8. Start JDeveloper
That’s all that needs to be done. Once JDeveloper has started and opened to the default start page, it’s worthwhile checking in your new System directory for that JDeveloper instance, that you can see JDeveloper is using that directory and creating files. For JDeveloper 126.96.36.199.0 for example we would expect to see that under the directory you created, for example /Users/chris/.jdeveloper121300Instance1 on Mac, you can now see a subdirectory system188.8.131.52.41.140521.1008. If that directory exists, JDeveloper is correctly setup.
From here you are now in a position to install your 2nd JDeveloper instance following the same steps above.
Once done you are now free to download and maintain separate extensions for each JDeveloper instance. Just make sure you don’t get confused which JDeveloper you’re running!
One side effect of changing the ide.user.dir option in the jdev.boot file, is JDeveloper’s ‘mywork’ directory will now be defaulted to the new System directory you specified.