Working with multiple environments locally
As a developer, sometimes you need to work locally with the same source code but different plug-ins and databases for different implementations. You can do it the hard way by changing your launcher and running the install.app every time you need to change the environment. However, there's an easier way to accomplish this by having different launchers in eclipse and idempiere.properties pointing to the corresponding databases. In this How To, I intend to explain how I do it.
Database
Create a copy of the idempiere.properties file of your local workspace in a folder (f.i. in /home/diego/.idempiere) and rename it with a meaningful name. F.e:
cp idempiere.properties /home/diego/.idempiere/freibier.properties
Then edit the file and change the database used.
Do this for all the different databases you have.
Eclipse
To create a new launcher in Eclipse, open the Run Configurations window. Right-click on the server.product launcher and click on duplicate.
Give it a meaningful name (in my case, for example, "server.product freibier"). Open the Plug-ins tab and add all the plug-ins you need for this implementation.
Navigate to the Arguments tab and add at the end of VM Arguments the following property:
-DPropertyFile=/home/diego/.idempiere/freibier.properties
Do this for every file created in the previous step.
That's it. Now you can run each launcher individually with the right configuration without having to change the property files or launcher every time.