The following scripts, which are referenced in the BaseX can be [[Startup|started in different ways]] and [. The [Command-Line Options]] articles, are also included in the [httphttps://basex.org/products/download/ 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 {{Code|bin}} directory of your BaseX directory instance to the [httphttps://en.wikipedia.org/wiki/PATH_(variable) PATH variable] of your environment.* The If you use the Windows installer , that’s done automatically adds .* 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 project’s {{Code|binMAIN}} directory to your path environmentvariable.* If you work are compiling the source code with [[Maven]], you can directly run launch BaseX via the scripts from in the {{Code|etc}} directory of our GitHub [https://github.com/BaseXdb/basex/tree/master/basex-core/etc basex-core/etc] and [https://github.com/BaseXdb/basex-api/tree/master/basex-api/etc basex-api/etc] repositoriessubdirectories of the project.<br/><br/>
If BaseX terminates with an {{Code|Out of Memory}} or {{Code|Java heap space}} error, you can assign more RAM via the {{Code|-Xmx}} flag (see below). A conservative value was chosen in our distributions to ensure that BaseX will also run on older JVMs.
=Main PackageStandalone=
The Use the following scripts can be used to launch the standalone version of BaseX. Please replace the class name in <code>org.basex.BaseX</code> with either <code>BaseXClient</code>, <code>BaseXServer</code>, or <code>BaseXGUI</code> to run the client, server or GUI version.:
==Windows: {{Code|basex.bat}}==
<pre classlang="brush:bashbatch">
@echo off
setLocal EnableDelayedExpansion
REM Path to this scriptcore and library classesset PWDMAIN=%~dp0 REM Core and library classes/..set CP=%PWDMAIN%/../BaseX.jarset LIB=;%PWDMAIN%/../libfor /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%MAIN%a/lib/custom/*
REM Options for virtual machine
set VMBASEX_JVM=-Xmx512mXmx1200m %BASEX_JVM%
REM Run code
java -cp "%CP%" %VMBASEX_JVM% org.basex.BaseX %*
</pre>
==Linux/Mac: {{Code|basex}}==
<pre classlang="brush:bash">#!/usr/bin/env bash
# Path to this script
cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")"
done
BXMAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )"
# Core and library classes
CP="$BXMAIN/BaseX.jar"CP=":$CPMAIN/lib/*:$(for JAR in "$BX"MAIN/lib/custom/*.jar; do echo -n ":$JAR"; done)"CLASSPATH
# Options for virtual machine(can be extended by global options)VMBASEX_JVM="-Xmx512mXmx2g $BASEX_JVM"
# Run code
java -cp "$CP" $VM BASEX_JVM org.basex.BaseX "$@"
</pre>
=GUI, Server, Client=
If you would like to launch the GUI, Server or Client version of BaseX, please replace the class name in <code>org.basex.BaseX</code> with either <code>BaseXGUI</code>, <code>BaseXServer</code> or <code>BaseXClient</code>.
=HTTP Server=
The scripts for starting the HTTP server, which gives access to the running [[RESTWeb Application|Web Applications]], [[RESTXQ]] and [[WebDAV]] services, can be found below.:
==Windows: {{Code|basexhttp.bat}}==
<pre classlang="brush:bashbatch">
@echo off
setLocal EnableDelayedExpansion
REM Path to this scriptcore and library classesset PWDMAIN=%~dp0 REM Core and library classes/..set CP=%PWDMAIN%/../BaseX.jarset LIB=;%PWDMAIN%/../libfor /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%MAIN%afor /R "%LIB%" %%a in (lib/custom/*.jar) do set CP=!CP!;%%a
REM Options for virtual machine
set VMBASEX_JVM=-Xmx512mXmx1200m %BASEX_JVM%
REM Run code
java -cp "%CP%;." %VMBASEX_JVM% org.basex.BaseXHTTP %*
</pre>
==Linux/Mac: {{Code|basexhttp}}==
<pre classlang="brush:bash">#!/usr/bin/env bash
# Path to this script
cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")"
done
BXMAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )"BXCORE="$( cd -P "$BX/../basex" && pwd )"
# API, core, and library classes
CP="$BXMAIN/BaseX.jar$(printf ":%s" "$BX/BaseX.jar" "$BXMAIN/lib/"*.jar ":$BXCOREMAIN/target/classes" "$BXCORElib/libcustom/"*.jar)":$CLASSPATH
# Options for virtual machine(can be extended by global options)VMBASEX_JVM="-Xmx512mXmx2g $BASEX_JVM"
# Run code
java -cp "$CP" $VM BASEX_JVM org.basex.BaseXHTTP "$@"
</pre>
=Included Start Scripts=
The BaseX [https://basex.org/download/ Windows and ZIP distributions] include the following start scripts:
{| class="wikitable"
|- valign="top"
! Windows
! Linux/Mac
! Description
|- valign="top"
| {{Code|basex.bat}}
| {{Code|basex}}
| Launches the BaseX standalone mode.
|- valign="top"
| {{Code|basexclient.bat}}
| {{Code|basexclient}}
| Starts a BaseX client.
|- valign="top"
| {{Code|basexgui.bat}}
| {{Code|basexgui}}
| Starts the BaseX GUI.
|- valign="top"
| {{Code|basexhttp.bat}}
| {{Code|basexhttp}}
| Starts the BaseX HTTP Server.
|- valign="top"
| {{Code|basexserver.bat}}
| {{Code|basexserver}}
| Starts the BaseX database server.
|}
For the BaseX HTTP and database server, additional stop scripts are available:
{| class="wikitable"
|- valign="top"
! Windows
! Linux/Mac
! width="40%" | Description
|- valign="top"
|- valign="top"
| {{Code|basexhttpstop.bat}}
| {{Code|basexhttpstop}}
| Stops the BaseX HTTP Server.
|- valign="top"
| {{Code|basexserverstop.bat}}
| {{Code|basexserverstop}}
| Stops the BaseX database server.
|}
=Changelog=
;Version 7.5
* Updated: Static dependencies removed from Windows batch scripts.
;Version 7.2
* Updated: The {{Code|BaseXHTTP}} start class moved from {{Code|org.basex.api}} to {{Code|org.basex}}.
;Version 7.0
* Updated: The {{Code|basexjaxrx}} scripts have been replaced with the {{Code|basexhttp}} scripts.