Developing with Eclipse

From BaseX Documentation
Revision as of 20:05, 17 February 2011 by Michael (talk | contribs) (→‎Check Out)
Jump to navigation Jump to search

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 Subclipse plugin is needed to check out the latest sources from our repository within Eclipse.
  • 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.

Check Out

To check out BaseX and its sub projects, proceed as follows:

  1. Choose the project you like:
    1. BaseX at GitHub is the main project
    2. BaseX API at GitHub contains the BaseX APIs (JAX-RX, XQJ, XMLDB, and bindings in other languages)
    3. examples demonstrates some use cases for BaseX
    4. jax-rx represents the JAX-RX Interface
  2. Click on Finish

Start

  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

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 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.