Difference between revisions of "Start Scripts"

From BaseX Documentation
Jump to navigation Jump to search
Line 2: Line 2:
  
 
* We recommend you to manually add the {{Code|bin}} directory of your BaseX directory to the [http://en.wikipedia.org/wiki/PATH_(variable) PATH variable] of your environment.
 
* We recommend you to manually add the {{Code|bin}} directory of your BaseX directory to the [http://en.wikipedia.org/wiki/PATH_(variable) PATH variable] of your environment.
 +
* 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 {{Code|MAIN}} variable.
 
* The Windows installer automatically adds the project’s {{Code|bin}} directory to your path environment.
 
* The Windows installer automatically adds the project’s {{Code|bin}} directory to your path environment.
 
* If you work with [[Maven]], you can directly run the scripts in the [https://github.com/BaseXdb/basex/tree/master/basex-core/etc basex-core/etc] and [https://github.com/BaseXdb/basex/tree/master/basex-api/etc basex-api/etc] sub-directories of the project.
 
* If you work with [[Maven]], you can directly run the scripts in the [https://github.com/BaseXdb/basex/tree/master/basex-core/etc basex-core/etc] and [https://github.com/BaseXdb/basex/tree/master/basex-api/etc basex-api/etc] sub-directories of the project.
  
If BaseX terminates with an {{Code|Out of Memory}} error, you can assign more RAM via the {{Code|-Xmx}} flag (see below).
+
If BaseX terminates with an {{Code|Out of Memory}} error, you can assign more RAM via the {{Code|-Xmx}} flag (see below). The chosen value ensures that BaseX will also run on 32 bit JVMs.
  
 
=Main Package=
 
=Main Package=

Revision as of 09:12, 18 October 2017

The following scripts, which are referenced in the Startup and Command-Line Options articles, are also included in the Windows and ZIP distributions.

  • We recommend you to manually add the bin directory of your BaseX directory to the PATH variable of your environment.
  • 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.
  • The Windows installer automatically adds the project’s bin directory to your path environment.
  • If you work with Maven, you can directly run the scripts in the basex-core/etc and basex-api/etc sub-directories of the project.

If BaseX terminates with an Out of Memory error, you can assign more RAM via the -Xmx flag (see below). The chosen value ensures that BaseX will also run on 32 bit JVMs.

Main Package

The following scripts can be used to launch the standalone version of BaseX. Please replace the class name in org.basex.BaseX with either BaseXClient, BaseXServer, or BaseXGUI to run the client, server or GUI version.

Windows: basex.bat

@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 %*

Linux/Mac: basex

#!/bin/bash

# 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
BX="$( cd -P "$(dirname "$FILE")/.." && pwd )"

# Core and library classes
CP="$BX/BaseX.jar"
CP="$CP$(for JAR in "$BX"/lib/*.jar; do echo -n ":$JAR"; done)"

# Options for virtual machine
VM=-Xmx512m

# Run code
java -cp "$CP" $VM org.basex.BaseX "$@"

HTTP Server

The scripts for starting the HTTP server, which gives access to the REST, RESTXQ and WebDAV services, can be found below.

Windows: basexhttp.bat

@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 %*

Linux/Mac: basexhttp

#!/bin/bash

# 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
BX="$( cd -P "$(dirname "$FILE")/.." && pwd )"
BXCORE="$( cd -P "$BX/../basex" && pwd )"

# API, core, and library classes
CP="$BX/BaseX.jar$(printf ":%s" "$BX/BaseX.jar" "$BX/lib/"*.jar "$BXCORE/target/classes" "$BXCORE/lib/"*.jar)"

# Options for virtual machine
VM=-Xmx512m

# Run code
java -cp "$CP" $VM org.basex.BaseXHTTP "$@"

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.