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 [[Integrating Eclipse|query processor in Eclipse]]. ==InstallationPrerequisites==
BaseX is developed with the Eclipse environment (other IDEs like IntelliJ IDEA can be used as well). The [https://www.eclipse.org/downloads/ Eclipse IDE for Java Developers] includes the EGit plugin (for [[Git]]) and the m2e plugin (for [[Maven]]). Other plugins we use are: {| class="wikitable" |- valign="top"! Name! Description! Update URL! Eclipse Marketplace|-| [http://eclipse-cs.sourceforge.net eclipse-cs]| Enforces Checkstyle coding standards.| <code><nowiki>http://eclipse-cs.sf.net/update/</nowiki></code>| [https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=150 install]|-| [https://spotbugs.github.io/ SpotBugs]| Analyze project at byte code level| <code><nowiki>https://spotbugs.github.io/eclipse/</nowiki></code>| [https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=3519199 install]|-| [http://www.ucdetector.org/ UCDetector]| Unnecessary code detector| <code><nowiki>http://ucdetector.sourceforge.net/update</nowiki></code>| [https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=661 install]|} =Eclipse Integration=Check Out==
<p>BaseX is being developed with the Eclipse environment. Some styleguidelines are integrated in the sources of BaseX;they are being embedded as soon as you open the project.</p> <p>The [http://subclipse.tigris.org Subclipse Plugin] is neededto check out the latest sources from Our [[Subversion_RepositoryGit|our repositoryGit Tutorial]].Next, we recommend to use the[http://m2eclipse.sonatype.org m2eclipse] pluginto add Maven support to Eclipse.Some additional guidelines are defined via Checkstyle and explains how BaseX can beintegrated with the [http://eclipse-cs.sourceforge.net eclipse-cs] plugin.</p> <p>To checkout BaseX, do the following:</p> #File » Import#SVN » Check checked out Projects from SVN#Use the repository [https://svn.uni-konstanzgithub.decom/dbisBaseXdb/basex https://svnGitHub Repository] and embedded in Eclipse with EGit.uniThe article also demonstrates how git can be used on command-konstanzline.de/dbis/ The basex] and click "Browse"#Choose repository contains the project you likefollowing subdirectories:<br/> ##[https://svn.uni{{Code|basex-konstanz.de/dbis/basex/trunk/basex basex] core}} is the main project##[https://svn.uni{{Code|basex-konstanz.de/dbis/basex/trunk/api api] }} contains the BaseX APIs (XQJXML:DB, XMLDB and bindings in other languages) and HTTP Services ([[REST]], [[RESTXQ]], [[WebDAV]]) ##[https://svn.uni{{Code|basex-konstanz.de/dbis/basex/trunk/examples }} includes some examples] demonstrates some use cases code for BaseX #Click Finish{{Code|basex-tests}} contains several unit and stress tests If the "Problems" View contains errors or warnings, you may need to switch to Java 11 (''Windows'' → ''Preferences'' → ''Java'' → ''Installed JREs''). ==Start in Eclipse==
===Run BaseX with Eclipse=== #Press ''Run » Run…'' → ''Run…''#Create a new "Java Application" launch configuration #Select "basex" as "Project" #Choose a "Main class" (e.g., <code>org.basex.BaseXWinBaseXGUI</code> for the graphical user interface) #Launch the project via "Run" ===Compile & ''Run BaseX=== <p>If the standalone version of [http://maven.apache.org Maven] is installed, you can run<code> mvn compile </code>in the project directory to compile BaseX.</p> <p>Type in<code> java -cp target/classes/org.basex.BaseX </code>to run BaseX.</p> <p>You can launch the following classes, which are all placed in the <code>org.basex</code> main package:</p>''
;[[Console|BaseX]]: console mode;[[Server|BaseXServer]]: server instance, waiting for requests;[[Server|BaseXClient]]: console mode, interacting with the server;[[GUI|BaseXGUI]]:graphical user interface <p>Moreover, try <code>-h</code> 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.</p>==Alternative==
==Integration== <p>As BaseX is offered in a You may as well use the standalone version of [[Maven repository, you can easily embed it in your own projects.In order ]] to use compile and run the BaseX Maven Artifactsproject, add the following lines to your<code>pom.xml</code> file:</p> <pre class="brush:xml"><repositories> <repository> <id>dbis-ukn</id> <name>DBIS Maven Repository</name> <url>httpuse other IDEs such as [https://www.infjetbrains.uni-konstanz.decom/dbisidea/basex/maven</url> </repository></repositories></pre> ===BaseX Artifact=== <pre class="brush:xml"><dependency> <groupId>orgIntelliJ IDEA].basex</groupId> <artifactId>basex</artifactId> <version>6.3.4</version></dependency></pre>
===BaseX API Artifact=== <p>...including the [http[Category://jcp.org/en/jsr/detail?id=225 XQJDeveloper] and [http://sourceforge.net/projects/xmldb-org XML:DB] API:</p> <pre class="brush:xml"><dependency> <groupId>org.basex</groupId> <artifactId>basex-api</artifactId> <version>6.2.4</version></dependency></pre>