Develop in Eclipse
DBeaver is an Eclipse RCP application.
It consists of a set of Eclipse plugins, features and products.
Opening workspace in Eclipse
You will need to setup Eclipse IDE for RCP and RAP Developers. The current default Eclipse version is 2021-03. As the build may fail on older and newer versions, you will need to install a few additional Eclipse plugins which DBeaver depends on (and which are not included in the standard Eclipse distribution):
Open main menu Help -> Install New Software
http://dbeaver.io/eclipse-repo/into "Work with" field and press enter
Check all plugins and finish the installation process:
Do the same for
Checkout DBeaver repository somewhere with
git clone https://github.com/dbeaver/dbeaver.gitcommand.
In Eclipse run Import wizard
Choose "General->Existing Maven Projects".
Select DBeaver checkout directory. Check all plugins and features Eclipse will find and finish the wizard.
Eclipse will perform the project configuration process. This may take a few minutes.
If Eclipse will ask about additional plugin install - just agree:
Restart Eclipse. Eclipse will build the project automatically or you can press
Switch to Hierarchical projects presentations
If some modules build fail (they will be marked with red cross) - update the Maven project
Running and Debugging in Eclipse
- Import the DBeaver launch configuration using the Eclipse Import wizard:
- Click on the Debug icon in the main toolbar->Debug configurations.
- Choose DBeaver.product and click the Debug button
If the product will not start with
No application id has been found error, try this workaround:
What you need to do is go to your Run Configurations (Run -> Run Configurations). Select the Plug-ins tab and then hit "Add Required Plug-ins". Apply, then Run, and it should work now.
That is it.
docs- some documentations (mostly outdated)
features- feature descriptors. Does not contain any source code. Used to structurize the product plugins/dependencies.
bundles- very base plugins (like utils)
plugins- main sources location
org.jkiss.dbeaver.model- model API and base classes. Does not contain any UI dependencies, just pure data model.
org.jkiss.dbeaver.core- main DBeaver module. Most of the base UI classes are here.
org.jkiss.dbeaver.ui.app.standalone- a relatively small module which configures standalone DBeaver application.
org.jkiss.dbeaver.ui.app.eclipse- the main Eclipse plugin. Adds some extra menus/views to the standard Eclipse IDE.
org.jkiss.dbeaver.ext.*- DBeaver extensions
product- the final products (standalone and Eclipse plugin) configuration.
Everything above covers the Community Edition version.