Installing Eclipse (3.4+) plugins in a directory other than ECLIPSE_HOME/plugins
Solution 1:
Update May 2014, Eclipse 4.x
As oberlies kindly points out in the comments:
Dropins are deprecated! Don't use them!
Even though they are still documented (in Kepler 4.3 for instance), this thread adds:
One of the reasons that Eclipse does not recommend the dropins folder method of installation is that there is no feedback if something goes wrong. Any number of things could be getting in the way.
- If you were using the install UI, you'd be informed of the problems before any changes are made.
- With dropins, Eclipse tries to install and start as much as it can and you don't really know what's going on.
A Local deployment, as shown in this tutorial, would rather use File → Export → Plug-in Development → Deployable plug-ins and fragments
.
But the final destination remains in ECLIPSE_HOME/plugins
.
Original answer (2009, Eclipse 3.x)
You should add your plugins in ECLIPSE_HOME/dropins
.
If you want to defined common plugins, use bundle pools (also introduced here)
You can also use an own extra dropins folder: simply add a parameter into eclipse.ini
:
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory= /your_path/e34shared_dropin
This extra dropins location can be used from more then one Eclipse installations - so you can use it as a shared dropins (watched directory).
For Bundle Pool, you have here a step by step procedure:
To better address your issue, you might find interesting the following article:
p2: how I install plugins in extension locations (from the Eclipse and Java Blog by Michael Scharf blog)
The following procedure explains how to install plugins into different extension locations and share those extension locations between different eclipse installations using the p2 update manager and link files. For a lengthly discussion see bug 224145
(Note: p2 is the "new" way to manage plugins, links is the "old" way to reference plugins outside the eclipse installation directory)
I keep a set of different extensions locations in
C:\eclipse\extensions
(each extension location is in a subdirectory of that directory).
Suppose I want to install foo into the new extension locationC:\eclipse\extensions\foo
.
- I start eclipse with:
-configuration C:\eclipse\extensions\foo\eclipse\configuration
I install foo using the update manager.
Now I can use the extension by creating a
foo.link
file inside the links directory of an eclipse installation (you might have to create the[eclipse]\links
directory) containing:
path=C:/eclipse/extensions/foobar
That's it :-)
Notes:
- You have to the forward slashes on windows in the links file.
- This procedure works for eclipse 3.4 and 3.5.
- You don't have to create any directory specified by the -configuration parameter. Eclipse will do that for you.
- It is important to follow the pattern
EXTENSION_NAME/eclipse/configuration
for the "-configuration
" parameter because p2 will put the plugins one directory above the configuration directory and link files require that the directory that contains the plugins is called eclipse.- With this structure I can update plugins into the extension locations by running eclipse with the -configuration and then do the update.
Advanced use: If I want to install bar based on my foo extension, I create a link file to foo in the bar extension location links directory:
C:\eclipse\extensions\bar\eclipse\configuration\links\foo.link
and follow my standard procedure described above (the links directory can be populated before the first run of eclipse)...
Note for eclipse 3.4: If you are using eclipse 3.4 and you want to use the eclipse default update sites, you have to run eclipse without "
-configuration
" and export them (Help->Software Updates->Available Software (tab)->Manage Sites->Export
), so you can import them into the "-configuration
" eclipse.
Solution 2:
Not sure if this is what you are seeking, but if you manually obtain plugins (not via the loader, just as jars), you can use the dropins mechanism.
Go to ECLIPSE_HOME/dropins
Create a directory named "SomeNameForFunctionality" Create a subdirectory named "eclipse" underneath Create subdirectories named "features" and "plugins" underneath "Eclipse" Move the plugins and feature jars to the corresponding subdirectories.
Restart Eclipse and make sure it takes a few more seconds to load. Your plugin should still be there.
Solution 3:
The Dropins folder is a good solution if you install plugins manually. If you are installing plugins through the update manager, you cannot select the install location for your plugins through the UI. Not anymore.
BTW, if you like sharing plugins among several Eclipse installations, you can create a Link file, drop it in the Dropins folder and it works just the same, no need to modify the INI.
A Link file is a plain text file, which ends with .link extension, and has one line in it: path=/path/to/your/plugins