Difference between revisions of "Start Scripts"
m (Text replacement - "[http://en.wikipedia.org/" to "[https://en.wikipedia.org/") Tags: Mobile web edit Mobile edit |
|||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Each BaseX [[Startup]] mode can be launched with its own Start Script which can in turn be used with its own range of [[Command-Line Options]]. The BaseX [https://basex.org/download/ Windows and ZIP distributions] readily include all Start Scripts. | |
− | * We recommend you to manually add the {{Code|bin}} directory of your BaseX directory to the [ | + | * We recommend you to manually add the {{Code|bin}} directory of your BaseX directory to the [https://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 | + | * 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}} or {{Code|Java heap space}} error, you can assign more RAM via the {{Code|-Xmx}} flag (see below). The conservative value that was chosen in our distributions ensures that BaseX will also run on 32 bit JVMs. |
− | = | + | =Standalone= |
− | The following scripts | + | The following scripts launch the standalone version of BaseX: |
− | ==Windows: basex.bat== | + | ==Windows: {{Code|basex.bat}}== |
− | < | + | <syntaxhighlight lang="batch"> |
@echo off | @echo off | ||
setLocal EnableDelayedExpansion | setLocal EnableDelayedExpansion | ||
− | REM Path to | + | REM Path to core and library classes |
− | set | + | set MAIN=%~dp0/.. |
− | + | set CP=%MAIN%/BaseX.jar;%MAIN%/lib/*;%MAIN%/lib/custom/* | |
− | |||
− | set CP=% | ||
− | |||
− | |||
REM Options for virtual machine | REM Options for virtual machine | ||
− | set | + | set BASEX_JVM=-Xmx1200m %BASEX_JVM% |
REM Run code | REM Run code | ||
− | java -cp "%CP%" % | + | java -cp "%CP%" %BASEX_JVM% org.basex.BaseX %* |
− | </ | + | </syntaxhighlight> |
− | ==Linux/Mac: basex== | + | ==Linux/Mac: {{Code|basex}}== |
− | < | + | <syntaxhighlight lang="bash"> |
− | #!/bin/bash | + | #!/usr/bin/env bash |
# Path to this script | # Path to this script | ||
Line 44: | Line 41: | ||
cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")" | cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")" | ||
done | done | ||
− | + | MAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )" | |
# Core and library classes | # Core and library classes | ||
− | CP= | + | CP=$MAIN/BaseX.jar:$MAIN/lib/*:$MAIN/lib/custom/*:$CLASSPATH |
− | |||
− | # Options for virtual machine | + | # Options for virtual machine (can be extended by global options) |
− | + | BASEX_JVM="-Xmx2g $BASEX_JVM" | |
# Run code | # Run code | ||
− | java -cp "$CP" $ | + | 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 <code>org.basex.BaseX</code> with either <code>BaseXGUI</code>, <code>BaseXServer</code> or <code>BaseXClient</code>. | ||
=HTTP Server= | =HTTP Server= | ||
− | The scripts for starting the HTTP server, which gives access to the [[REST]], [[RESTXQ]] and [[WebDAV]] services, can be found below | + | The scripts for starting the HTTP server, which gives access to the [[REST]], [[RESTXQ]] and [[WebDAV]] services, can be found below: |
− | ==Windows: basexhttp.bat== | + | ==Windows: {{Code|basexhttp.bat}}== |
− | < | + | <syntaxhighlight lang="batch"> |
@echo off | @echo off | ||
setLocal EnableDelayedExpansion | setLocal EnableDelayedExpansion | ||
− | REM Path to | + | REM Path to core and library classes |
− | set | + | set MAIN=%~dp0/.. |
− | + | set CP=%MAIN%/BaseX.jar;%MAIN%/lib/*;%MAIN%/lib/custom/* | |
− | |||
− | set CP=% | ||
− | |||
− | |||
− | |||
REM Options for virtual machine | REM Options for virtual machine | ||
− | set | + | set BASEX_JVM=-Xmx1200m %BASEX_JVM% |
REM Run code | REM Run code | ||
− | java -cp "%CP% | + | java -cp "%CP%" %BASEX_JVM% org.basex.BaseXHTTP %* |
− | </ | + | </syntaxhighlight> |
− | ==Linux/Mac: basexhttp== | + | ==Linux/Mac: {{Code|basexhttp}}== |
− | < | + | <syntaxhighlight lang="bash"> |
− | #!/bin/bash | + | #!/usr/bin/env bash |
# Path to this script | # Path to this script | ||
Line 95: | Line 90: | ||
cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")" | cd -P "$(dirname "$SRC")" && pwd )/$(basename "$SRC")" | ||
done | done | ||
− | + | MAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )" | |
− | |||
# API, core, and library classes | # API, core, and library classes | ||
− | CP= | + | CP=$MAIN/BaseX.jar:$MAIN/lib/*:$MAIN/lib/custom/*:$CLASSPATH |
− | # Options for virtual machine | + | # Options for virtual machine (can be extended by global options) |
− | + | BASEX_JVM="-Xmx2g $BASEX_JVM" | |
# Run code | # Run code | ||
− | java -cp "$CP" $ | + | java -cp "$CP" $BASEX_JVM org.basex.BaseXHTTP "$@" |
− | </ | + | </syntaxhighlight> |
+ | |||
+ | =Included Start Scripts= | ||
+ | |||
+ | The BaseX [https://basex.org/download/ Windows and ZIP distributions] readily 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, there are also stop scripts 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= | =Changelog= |
Revision as of 12:56, 2 July 2020
Each BaseX Startup mode can be launched with its own Start Script which can in turn be used with its own range of Command-Line Options. The BaseX Windows and ZIP distributions readily include all Start Scripts.
- 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
or Java heap space
error, you can assign more RAM via the -Xmx
flag (see below). The conservative value that was chosen in our distributions ensures that BaseX will also run on 32 bit JVMs.
Contents
Standalone
The following scripts 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">
- !/usr/bin/env 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 MAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )"
- Core and library classes
CP=$MAIN/BaseX.jar:$MAIN/lib/*:$MAIN/lib/custom/*:$CLASSPATH
- Options for virtual machine (can be extended by global options)
BASEX_JVM="-Xmx2g $BASEX_JVM"
- 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 starting the HTTP server, which gives access to the REST, RESTXQ and WebDAV services, 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">
- !/usr/bin/env 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 MAIN="$( cd -P "$(dirname "$FILE")/.." && pwd )"
- API, core, and library classes
CP=$MAIN/BaseX.jar:$MAIN/lib/*:$MAIN/lib/custom/*:$CLASSPATH
- Options for virtual machine (can be extended by global options)
BASEX_JVM="-Xmx2g $BASEX_JVM"
- Run code
java -cp "$CP" $BASEX_JVM org.basex.BaseXHTTP "$@" </syntaxhighlight>
Included Start Scripts
The BaseX Windows and ZIP distributions readily 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, there are also stop scripts 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 fromorg.basex.api
toorg.basex
.
- Version 7.0
- Updated: The
basexjaxrx
scripts have been replaced with thebasexhttp
scripts.