The following scripts, which are referenced in the BaseX can be [[Startup|started in different ways]] and . The [[Startup Options]] articles, are also included in the Windows and ZIP [httphttps://basex.org/products/download/ release filesWindows and ZIP distributions]include various start scripts, which are presented in the following, and available in our [https://githubwhich can also be maintained separately.com/BaseXdb/basex/tree/master/etc GitHub repository]:
* We recommend you to manually add the BaseX {{Code|bin}} directory of your BaseX instance to the [https://en.wikipedia.org/wiki/PATH_(variable) PATH variable] of your <code>PATH</code> environment variable.* 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 are compiling the source code with [[Maven]], you can launch BaseX via the scripts in the [https://github.com/BaseXdb/basex/tree/master/basex-core/etc basex-core/etc] and [https://github.<brcom/BaseXdb/basex/tree/master/basex-api/><bretc basex-api/>etc] subdirectories of the project.
=If BaseX Main Package=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.
The following scripts 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.=Standalone=
==WindowsUse the following scripts to launch the standalone version of BaseX: basex.bat==
==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 machineVM=-Xmx512m general_args=( )vm_args=( can be extended by global options)while (( $# )) ; do if [[ $1 BASEX_JVM= "-X" ]] ; then vm_args+=( "Xmx2g $2BASEX_JVM" ) shift 2 else general_args+=( "$1" ) shift fidone
# Run code
java -cp "$CP" $VM "${vm_args[@]}" BASEX_JVM org.basex.BaseX "${general_args[@]}"
</pre>
=BaseX HTTP GUI, Server, Client=
The scripts for starting If you would like to launch the HTTP serverGUI, Server or Client version of BaseX, which gives access to please replace the [[REST]], [[RESTXQ]] and [[WebDAV]] servicesclass name in <code>org.basex.BaseX</code> with either <code>BaseXGUI</code>, can be found below<code>BaseXServer</code> or <code>BaseXClient</code>.
In {{Mark|Version 7.2}}, the {{Code|BaseXHTTP}} start class has been moved from the {{Code|org.basex.api}} package to {{Code|org.basex}}.=HTTP Server=
==WindowsThe scripts for running [[Web Application|Web Applications]] can be found below: basexhttp.bat==
==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)BASEX_JVM="-Xmx2g $BASEX_JVM"
# Options for virtual machineRun codeVM=java -Xmx512mcp "$CP" $BASEX_JVM org.basex.BaseXHTTP "$@"</pre>
general_args=( )Included Start Scripts= The BaseX [https://basex.org/download/ Windows and ZIP distributions] include the following start scripts: {| class="wikitable"|- valign="top"vm_args! Windows! Linux/Mac! Description|- valign=( )"top"| {{Code|basex.bat}}| {{Code|basex}}while (( $# )) ; do| Launches the BaseX standalone mode. if [[ $1 |- valign= "top"| {{Code|basexclient.bat}}| {{Code|basexclient}}| Starts a BaseX client.|-Xvalign="top" ]] ; then vm_args+| {{Code|basexgui.bat}}| {{Code|basexgui}}| Starts the BaseX GUI.|- valign=( "$2top" ) shift 2| {{Code|basexhttp.bat}} else| {{Code|basexhttp}} general_args+| Starts the BaseX HTTP Server.|- valign=( "$1top" ) shift| {{Code|basexserver.bat}}| {{Code|basexserver}}| Starts the BaseX database server.|} fidoneFor the BaseX HTTP and database server, additional stop scripts are available:
# Run code{| class="wikitable"java |-cp valign="top"! Windows! Linux/Mac! width="$CP40%" $VM | Description|- valign="$top"|- valign="top"| {{Code|basexhttpstop.bat}}| {{vm_args[@]Code|basexhttpstop}}| Stops the BaseX HTTP Server.|- valign="top" org| {{Code|basexserverstop.basexbat}}| {{Code|basexserverstop}}| Stops the BaseX database server.BaseXHTTP "${general_args[@]|}" </pre>
=Changelog=
;Version 7.45
* 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.