Difference between revisions of "Start Scripts"
m (Text replacement - "[http://en.wikipedia.org/" to "[https://en.wikipedia.org/") Tags: Mobile web edit Mobile edit |
|||
(14 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 [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}} 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 | ||
Line 76: | Line 76: | ||
REM Run code | REM Run code | ||
java -cp "%CP%" %BASEX_JVM% org.basex.BaseXHTTP %* | 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 90: | 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= |
Latest revision as of 11: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.
Standalone[edit]
The following scripts launch the standalone version of BaseX:
Windows: basex.bat
[edit]
@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
[edit]
#!/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 "$@"
GUI, Server, Client[edit]
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[edit]
The scripts for starting the HTTP server, which gives access to the REST, RESTXQ and WebDAV services, can be found below:
Windows: basexhttp.bat
[edit]
@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
[edit]
#!/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 "$@"
Included Start Scripts[edit]
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[edit]
- 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.