Start Scripts

From BaseX Documentation
Revision as of 14:58, 25 July 2022 by CG (talk | contribs)
Jump to navigation Jump to search

BaseX can be started in different ways. The Windows and ZIP distributions include various start scripts, which are presented in the following, and which can also be maintained separately.

  • We recommend you to manually add the bin directory of your BaseX instance to the PATH variable of your environment.
  • If you use the Windows installer, that’s done automatically.
  • You can copy the start scripts to another location in your file system. After that, you should edit the scripts and assign the BaseX directory to the MAIN variable.
  • If you are compiling the source code with Maven, you can launch BaseX via the scripts in the basex-core/etc and basex-api/etc subdirectories of the project.

If BaseX terminates with an Out of Memory or Java heap space error, you can assign more RAM via the -Xmx flag (see below). A conservative value was chosen in our distributions to ensure that BaseX will also run on older JVMs.

Standalone

Use the following scripts to launch the standalone version of BaseX:

Windows: basex.bat

<syntaxhighlight lang="batch"> @echo off setLocal EnableDelayedExpansion

REM Path to core and library classes set MAIN=%~dp0/.. set CP=%MAIN%/BaseX.jar;%MAIN%/lib/*;%MAIN%/lib/custom/*

REM Options for virtual machine set BASEX_JVM=-Xmx1200m %BASEX_JVM%

REM Run code java -cp "%CP%" %BASEX_JVM% org.basex.BaseX %* </syntaxhighlight>

Linux/Mac: basex

<syntaxhighlight lang="bash">

  1. !/usr/bin/env bash
  1. Path to this script

FILE="${BASH_SOURCE[0]}" while [ -h "$FILE" ] ; do

 SRC="$(readlink "$FILE")"
 FILE="$( cd -P "$(dirname "$FILE")" && \
          cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")"

done MAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )"

  1. Core and library classes

CP=$MAIN/BaseX.jar:$MAIN/lib/*:$MAIN/lib/custom/*:$CLASSPATH

  1. Options for virtual machine (can be extended by global options)

BASEX_JVM="-Xmx2g $BASEX_JVM"

  1. Run code

java -cp "$CP" $BASEX_JVM org.basex.BaseX "$@" </syntaxhighlight>

GUI, Server, Client

If you would like to launch the GUI, Server or Client version of BaseX, please replace the class name in org.basex.BaseX with either BaseXGUI, BaseXServer or BaseXClient.

HTTP Server

The scripts for running Web Applications can be found below:

Windows: basexhttp.bat

<syntaxhighlight lang="batch"> @echo off setLocal EnableDelayedExpansion

REM Path to core and library classes set MAIN=%~dp0/.. set CP=%MAIN%/BaseX.jar;%MAIN%/lib/*;%MAIN%/lib/custom/*

REM Options for virtual machine set BASEX_JVM=-Xmx1200m %BASEX_JVM%

REM Run code java -cp "%CP%" %BASEX_JVM% org.basex.BaseXHTTP %* </syntaxhighlight>

Linux/Mac: basexhttp

<syntaxhighlight lang="bash">

  1. !/usr/bin/env bash
  1. Path to this script

FILE="${BASH_SOURCE[0]}" while [ -h "$FILE" ] ; do

 SRC="$(readlink "$FILE")"
 FILE="$( cd -P "$(dirname "$FILE")" && \
          cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")"

done MAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )"

  1. API, core, and library classes

CP=$MAIN/BaseX.jar:$MAIN/lib/*:$MAIN/lib/custom/*:$CLASSPATH

  1. Options for virtual machine (can be extended by global options)

BASEX_JVM="-Xmx2g $BASEX_JVM"

  1. Run code

java -cp "$CP" $BASEX_JVM org.basex.BaseXHTTP "$@" </syntaxhighlight>

Included Start Scripts

The BaseX Windows and ZIP distributions include the following start scripts:

Windows Linux/Mac Description
basex.bat basex Launches the BaseX standalone mode.
basexclient.bat basexclient Starts a BaseX client.
basexgui.bat basexgui Starts the BaseX GUI.
basexhttp.bat basexhttp Starts the BaseX HTTP Server.
basexserver.bat basexserver Starts the BaseX database server.

For the BaseX HTTP and database server, additional stop scripts are available:

Windows Linux/Mac Description
basexhttpstop.bat basexhttpstop Stops the BaseX HTTP Server.
basexserverstop.bat basexserverstop Stops the BaseX database server.

Changelog

Version 7.5
  • Updated: Static dependencies removed from Windows batch scripts.
Version 7.2
  • Updated: The BaseXHTTP start class moved from org.basex.api to org.basex.
Version 7.0
  • Updated: The basexjaxrx scripts have been replaced with the basexhttp scripts.