Developing with Eclipse

From BaseX Documentation
Revision as of 18:37, 13 September 2013 by CG (talk | contribs) (→‎Check Out)
Jump to navigation Jump to search

This page is part of the Developer Section. It describes how to get the BaseX sources compiled and running on your system.

Another article in the documentation describes how to use BaseX as a query processor in Eclipse.


  • BaseX is being developed with the Eclipse environment. Other IDEs are used as well in our community, but are not supported by our team.
  • The EGit plugin can be used to check out the latest sources from our repository within Eclipse.
  • The m2eclipse plugin is required to work with packages other than the main project; it adds Maven support to Eclipse.
  • Additional coding guidelines are defined via Checkstyle and can be integrated with the eclipse-cs plugin.
  • Other Eclipse plugins we frequently use are FindBugs to analyze Java byte code, and Core Tools to find unreferenced members.

Check Out

To get some help on how to check out BaseX from the GitHub Repository, and how to optionally compile BaseX on command line, please have a look at our Git Tutorial.

The basex repository contains the following sub-directories:

  1. basex-core is the main project
  2. basex-api contains the BaseX APIs (XML:DB, bindings in other languages) and HTTP Services (REST, RESTXQ, WebDAV)
  3. basex-examples includes some examples code for BaseX
  4. basex-tests contains several unit and stress tests

With the Maven plugin from Eclipse, it may require several attempts to get all dependencies updated. This loop can be avoided if the sources are precompiled via Maven on command-line.

Start in Eclipse

  1. Press RunRun…
  2. Create a new "Java Application" launch configuration
  3. Select "basex" as "Project"
  4. Choose a "Main class" (e.g., org.basex.BaseXGUI for the graphical user interface)
  5. Launch the project via Run


You may as well use the standalone version of Maven to compile and run the project, use other IDEs such as IntelliJ IDEA.