Difference between revisions of "Start Scripts"

From BaseX Documentation
Jump to navigation Jump to search
Line 1: Line 1:
The following scripts, which are mentioned on the [[Startup]] and [[Startup Options]] pages, are also included in our official '''Windows''' and '''ZIP''' release files, and available in our [https://github.com/BaseXdb/basex/tree/master/etc GitHub repository]:
+
The following scripts, which are referenced in the [[Startup]] and [[Startup Options]] articles, are also included in the Windows and ZIP [http://basex.org/products/download/ release files], and available in our [https://github.com/BaseXdb/basex/tree/master/etc GitHub repository]:
  
* The installers automatically add the project’s {{Code|bin}} directory to your path environment.
+
* We recommend you to manually add the BaseX {{Code|bin}} directory to your <code>PATH</code> environment variable.
* Otherwise, you can manually add the {{Code|bin}} directory to your <code>PATH</code> environment variable.<br/><br/>
+
* The Windows installer automatically adds the project’s {{Code|bin}} directory to your path environment.<br/><br/>
  
 
=BaseX Main Package=
 
=BaseX Main Package=
Line 11: Line 11:
  
 
<pre class="brush:bash">
 
<pre class="brush:bash">
@setlocal
 
 
@echo off
 
@echo off
 +
setLocal EnableDelayedExpansion
  
 
REM Path to this script
 
REM Path to this script
 
set PWD=%~dp0
 
set PWD=%~dp0
  
REM Paths to distributed JAR archives or class files
+
REM Core and library classes
set BASEX=basex.jar
+
set CP=%PWD%/../BaseX.jar
 +
set LIB=%PWD%/../lib
 +
for /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%%a
  
 
REM Options for virtual machine
 
REM Options for virtual machine
 
set VM=-Xmx512m
 
set VM=-Xmx512m
  
REM Classpath
+
REM Run code
set LIB=%PWD%/../lib
 
set CP=%BASEX%;%LIB%/lucene-analyzers-3.0.2.jar;%LIB%/tagsoup-1.2.jar;%LIB%/snowball.jar
 
 
 
REM Run BaseX
 
 
java -cp "%CP%" %VM% org.basex.BaseX %*
 
java -cp "%CP%" %VM% org.basex.BaseX %*
 
</pre>
 
</pre>
Line 55: Line 53:
 
vm_args=( )
 
vm_args=( )
 
while (( $# )) ; do
 
while (( $# )) ; do
if [[ $1 = "-X" ]] ; then
+
  if [[ $1 = "-X" ]] ; then
vm_args+=( "$2" )
+
    vm_args+=( "$2" )
shift 2
+
    shift 2
else
+
  else
general_args+=( "$1" )
+
    general_args+=( "$1" )
shift
+
    shift
fi
+
  fi
 
done
 
done
  
Line 78: Line 76:
 
<pre class="brush:bash">
 
<pre class="brush:bash">
 
@echo off
 
@echo off
setlocal
+
setLocal EnableDelayedExpansion
  
 
REM Path to this script
 
REM Path to this script
 
set PWD=%~dp0
 
set PWD=%~dp0
  
REM Paths to distributed JAR archives or class files
+
REM Core and library classes
set BASEX=%PWD%/basex.jar
+
set CP=%PWD%/../BaseX.jar
set BASEXAPI=%PWD%/basex-api.jar
 
 
 
REM Classpath
 
 
set LIB=%PWD%/../lib
 
set LIB=%PWD%/../lib
set CP=%BASEX%;%BASEXAPI%;%LIB%/commons-beanutils-1.8.2.jar;%LIB%/commons-codec-1.4.jar;%LIB%/commons-fileupload-1.2.2.jar;%LIB%/commons-io-1.4.jar;%LIB%/commons-logging-1.1.1.jar;%LIB%/jdom-1.1.jar;%LIB%/jetty-6.1.26.jar;%LIB%/jetty-util-6.1.26.jar;%LIB%/log4j-1.2.14.jar;%LIB%/lucene-analyzers-3.0.2.jar;%LIB%/milton-api-1.6.4.jar;%LIB%/mime-util-2.1.3.jar;%LIB%/resolver.jar;%LIB%/servlet-api-2.5-20081211.jar;%LIB%/slf4j-api-1.5.8.jar;%LIB%/slf4j-log4j12-1.5.6.jar;%LIB%/snowball.jar;%LIB%/tagsoup-1.2.jar;%LIB%/xmldb-api-1.0.jar;%LIB%/xqj-api-1.0.jar
+
for /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%%a
 +
for /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%%a
  
 
REM Options for virtual machine
 
REM Options for virtual machine
Line 95: Line 91:
  
 
REM Run code
 
REM Run code
java -cp "%CP%;." %VM% org.basex.api.BaseXHTTP %*
+
java -cp "%CP%;." %VM% org.basex.BaseXHTTP %*
 
</pre>
 
</pre>
  
Line 111: Line 107:
 
done
 
done
 
BX="$( cd -P "$(dirname "$FILE")/.." && pwd )"
 
BX="$( cd -P "$(dirname "$FILE")/.." && pwd )"
 +
BXCORE="$( cd -P "$BX/../basex" && pwd )"
  
 
# API, core, and library classes
 
# API, core, and library classes
CP="$BX/BaseX.jar$(printf ":%s" "$BX/BaseX.jar" "$BX/lib/"*.jar)"
+
CP="$BX/BaseX.jar$(printf ":%s" "$BX/BaseX.jar" "$BX/lib/"*.jar "$BXCORE/target/classes" "$BXCORE/lib/"*.jar)"
  
 
# Options for virtual machine
 
# Options for virtual machine
Line 131: Line 128:
  
 
# Run code
 
# Run code
java -cp "$CP" $VM "${vm_args[@]}" org.basex.BaseXHTTP "${general_args[@]}"
+
java -cp "$CP" $VM "${vm_args[@]}" org.basex.BaseXHTTP "${general_args[@]}" </pre>
</pre>
 
  
 
=Changelog=
 
=Changelog=
 +
 +
;Version 7.4
 +
 +
* Updated: Static dependencies removed from Windows batch scripts.
  
 
;Version 7.2
 
;Version 7.2
  
* The {{Code|BaseXHTTP}} start class moved from {{Code|org.basex.api}} to {{Code|org.basex}}.
+
* Updated: The {{Code|BaseXHTTP}} start class moved from {{Code|org.basex.api}} to {{Code|org.basex}}.
  
 
;Version 7.0
 
;Version 7.0
  
* The {{Code|basexjaxrx}} scripts have been replaced with the {{Code|basexhttp}} scripts.
+
* Updated: The {{Code|basexjaxrx}} scripts have been replaced with the {{Code|basexhttp}} scripts.

Revision as of 14:14, 25 August 2012

The following scripts, which are referenced in the Startup and Startup Options articles, are also included in the Windows and ZIP release files, and available in our GitHub repository:

  • We recommend you to manually add the BaseX bin directory to your PATH environment variable.
  • The Windows installer automatically adds the project’s bin directory to your path environment.

BaseX Main Package

The following scripts 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 this script
set PWD=%~dp0

REM Core and library classes
set CP=%PWD%/../BaseX.jar
set LIB=%PWD%/../lib
for /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%%a

REM Options for virtual machine
set VM=-Xmx512m

REM Run code
java -cp "%CP%" %VM% 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

general_args=( )
vm_args=( )
while (( $# )) ; do
  if [[ $1 = "-X" ]] ; then
    vm_args+=( "$2" )
    shift 2
  else
    general_args+=( "$1" )
    shift
  fi
done

# Run code
java -cp "$CP" $VM "${vm_args[@]}" org.basex.BaseX "${general_args[@]}"

BaseX HTTP Server

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

In Template:Mark, the BaseXHTTP start class has been moved from the org.basex.api package to org.basex.

Windows: basexhttp.bat

@echo off
setLocal EnableDelayedExpansion

REM Path to this script
set PWD=%~dp0

REM Core and library classes
set CP=%PWD%/../BaseX.jar
set LIB=%PWD%/../lib
for /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%%a
for /R "%LIB%" %%a in (*.jar) do set CP=!CP!;%%a

REM Options for virtual machine
set VM=-Xmx512m

REM Run code
java -cp "%CP%;." %VM% 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

general_args=( )
vm_args=( )
while (( $# )) ; do
  if [[ $1 = "-X" ]] ; then
    vm_args+=( "$2" )
    shift 2
  else
    general_args+=( "$1" )
    shift
  fi
done

# Run code
java -cp "$CP" $VM "${vm_args[@]}" org.basex.BaseXHTTP "${general_args[@]}" 

Changelog

Version 7.4
  • 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.