Difference between revisions of "Maven"

From BaseX Documentation
Jump to navigation Jump to search
Line 1: Line 1:
This page is part of the [[Developer Section]]. It demonstrates how [http://maven.apache.org Maven] is used to compile, run and package BaseX.
+
This page is part of the [[Developer Section]]. It demonstrates how [http://maven.apache.org Maven] is used to compile and run BaseX, and embed it into other projects.
  
 
==Using Maven==
 
==Using Maven==

Revision as of 05:40, 22 September 2011

This page is part of the Developer Section. It demonstrates how Maven is used to compile and run BaseX, and embed it into other projects.

Using Maven

If the standalone version of Maven is installed, you can use the following commands in any of the BaseX repositories:

  • mvn compile: the BaseX source files are is compiled. To launch the project, type in java -cp target/classes org.basex.BaseX, or have a look at our Start Scripts.
  • mvn package: JAR archives are created in the target class directory.
  • mvn install: the JAR archive is installed to the local repository, and made available to other Maven projects. This is particularly useful if you are compiling a beta version of BaseX, for which no archives exist in the repositories.

By adding the flag -DskipTests=true you can skip running the JUnit tests and speed up the packaging procedure. You may as well use Eclipse and m2eclipse to compile the BaseX sources.

Artifacts

As BaseX is offered in a Maven repository, you can easily embed it into your own projects. To use the BaseX Maven Artifacts, add the following lines to your pom.xml file:

<repositories>
  <repository>
    <id>basex</id>
    <name>BaseX Maven Repository</name>
    <url>http://files.basex.org/maven</url>
  </repository>
</repositories>

BaseX

<dependency>
  <groupId>org.basex</groupId>
  <artifactId>basex</artifactId>
  <version>6.7.1</version>
</dependency>

BaseX API

...including the REST, XML:DB and XQJ APIs:

<dependency>
  <groupId>org.basex</groupId>
  <artifactId>basex-api</artifactId>
  <version>6.7.1</version>
</dependency>