Developing with Eclipse
Contents
Prerequisites
- 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.
- For additional comfort and to work with packages other than the main project, the m2eclipse plugin is required, which 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 and its sub projects from GitHub (https://github.com/BaseXdb), please have a look at our GIT Tutorial.
The following packages are available:
- basex is the main project
- basex-api contains the BaseX APIs (REST, WebDAV, XQJ, XMLDB, and bindings in other languages)
- basex-examples demonstrates some use cases for BaseX
- basex-tests contains several coorectness and stress tests
Start
- Press Run → Run…
- Create a new "Java Application" launch configuration
- Select "basex" as "Project"
- Choose a "Main class" (e.g.,
org.basex.BaseXGUI
for the graphical user interface) - Launch the project via Run
Using Maven
If the standalone version of Maven is installed,
you can run mvn compile
in the project directory to compile BaseX.
Should you wish to create / package your own jars you can do so by running mvn package
.
By adding the flag -DskipTests=true
you can skip running the JUnit-tests.
Type in java -cp target/classes/org.basex.BaseX
to run BaseX.
You can launch the following classes, which are all placed in the
org.basex
main package:
- BaseX
- standalone (embedded) mode
- BaseXServer
- server instance, waiting for requests
- BaseXClient
- client instance, interacting with the server
- BaseXGUI
- graphical user interface
Moreover, try -h
to have a look at the available command-line options.
For example, you can evaluate XQuery expressions or process database commands without
entering the console.