Difference between revisions of "Start Scripts"

From BaseX Documentation
Jump to navigation Jump to search
Line 83: Line 83:
 
</pre>
 
</pre>
  
==Linux/Mac: basexhttp==
 
 
<pre class="brush:bash">
 
 
#!/bin/bash
 
#!/bin/bash
  
 
# Path to this script
 
# Path to this script
PWD=`dirname $0`
+
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 )"
  
# Paths to distributed JAR archives or class files
+
# API, core, and library classes
BASEX=$PWD/basex.jar
+
CP="$BX/BaseX.jar$(printf ":%s" "$BX/BaseX.jar" "$BX/lib/"*.jar)"
BASEXAPI=$PWD/basex-api.jar
 
 
 
# Classpath
 
LIB=$PWD/../lib
 
CP=$BASEX:$BASEXAPI:$LIB/commons-fileupload-1.2.2.jar:$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
 
  
 
# Options for virtual machine
 
# Options for virtual machine
 
VM=-Xmx512m
 
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
 
# Run code
java -cp "$CP" $VM org.basex.api.BaseXHTTP "$@"
+
java -cp "$CP" $VM "${vm_args[@]}" org.basex.BaseXHTTP "${general_args[@]}"
</pre>
 
  
 
=Changelog=
 
=Changelog=

Revision as of 21:57, 15 April 2012

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 GitHub repository:

  • The installers automatically add the project’s bin directory to your path environment.
  • Otherwise, you can manually add the bin directory to your PATH environment variable.

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

@setlocal
@echo off

REM Path to this script
set PWD=%~dp0

REM Paths to distributed JAR archives or class files
set BASEX=basex.jar

REM Options for virtual machine
set VM=-Xmx512m

REM Classpath
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 %*

Linux/Mac: basex

#!/bin/bash

# Path to this script
PWD=`dirname $0`

# Paths to distributed JAR archives or class files
BASEX=basex.jar

# Options for virtual machine
VM=-Xmx512m

# Classpath
LIB=$PWD/../lib
CP=$BASEX:$LIB/lucene-analyzers-3.0.2.jar:$LIB/tagsoup-1.2.jar:$LIB/snowball.jar

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

BaseX HTTP Server

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

Note: In Template:Mark, the BaseXHTTP start class will be moved from the org.basex.api package to org.basex.

Windows: basexhttp.bat

@echo off
setlocal

REM Path to this script
set PWD=%~dp0

REM Paths to distributed JAR archives or class files
set BASEX=%PWD%/basex.jar 
set BASEXAPI=%PWD%/basex-api.jar

REM Classpath
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

REM Options for virtual machine
set VM=-Xmx512m

REM Run code
java -cp "%CP%;." %VM% org.basex.api.BaseXHTTP %*
  1. !/bin/bash
  1. 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 )"

  1. API, core, and library classes

CP="$BX/BaseX.jar$(printf ":%s" "$BX/BaseX.jar" "$BX/lib/"*.jar)"

  1. 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

  1. Run code

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

Changelog

Version 7.2

  • The BaseXHTTP start class will be moved from org.basex.api to org.basex.

Version 7.0

  • The basexjaxrx scripts have been replaced with the basexhttp scripts.