I am working on writing the curriculum for a class on Java Programming. I want it to scale and I want to be able to focus on writing code–not fiddling around with the tools. I don’t want it to turn into a big tech support nightmare to try to figure out why this student can’t seem to get the JUnit to run and why another can’t seem to see the GIT plugin in Eclipse.
To accomplish that I’m going to run Eclipse on a server and give students access through X2Go. They can run Eclipse on their local machine, but it is up to them to support their own setup if they aren’t working on the server. To make this work I needed a way to make sure everyone was using the same set of plugins in Eclipse. The “dropins” folder does what I need.
If you install Eclipse through apt-get on Ubuntu, it will create a folder of
/usr/share/eclipse under that folder is the plugin folder, etc. However, there is no
dropins folder. You have to create it manually at
/usr/share/eclipse/dropins. This folder is checked by Eclipse when it starts up and the plugins put in that folder are loaded and installed into the users’s environment. This means you can easily manage what plugins each user has installed without touching each user’s home directory.
If a user installs a plugin from Eclipse, it gets installed in
/home/[username]/.eclipse/[version]/plugins/. If you set things up with plugins in the
/usr/share/eclipse/dropins folder, their personal plugins directory can be completely empty.
The best way I’ve found for setting this up is to create a fresh user that has nothing in their personal plugins directory. Have that user launch Eclipse and then use Eclipse to install any plugins you want to add for everyone. Once they are added, close eclipse and move everything that is in
/usr/share/eclipse/dropins. This will make sure you get all the dependencies you need to make things run.
If you need to troubleshoot how things are being loaded from
/usr/share/eclipse/dropins, look in the workspace that is being launched. It will be in something like