On Jan 4, 2009, at 10:07 PM, Drew Raines wrote:

java.ext.dirs has a default value that -Djava.ext.dirs overwrites, so
make sure you replace whatever your platform's Java expects (like
$JAVA_HOME/lib/ext).  I've been bitten before trying to speak HTTPS
while not having sunpkcs11.jar available.

Thanks for the info, Drew, R, and Laurent.

I've come up with this alternative for Mac OS X and Linux that gives the same convenient management, but doesn't use java.ext.dirs.

--Steve

#!/bin/bash

# clj: Launches a Clojure REPL with command line arguments
#
# Environment variables:
#
# Required:
#
#  CLOJURE_EXT  The path to a directory containing symlinks to the jar
#               files and directories that Clojure will use as its
#               Classpath.
#
# Optional:
#
#  CLOJURE_MAIN The Java class to launch
#               default: clojure.main
#               example: clojure.contrib.repl_ln
#
#  CLOJURE_OPTS Java options for this REPL's JVM instance
#               default:
#               example:"-Xms32M -Xmx128M -server"
#
#  CLOJURE_INIT Path to an init file to run, an @ prefix specifies a
#               classpath-relative path.
#               default:
#               example:"@init.clj"

set -o errexit
set -o nounset
#set -o xtrace

EXT="$(find ${CLOJURE_EXT} -type l -print0 | tr "\0" ":")"
export CLASSPATH="${EXT}${CLASSPATH:-}"

JAVA=java
OPTS=${CLOJURE_OPTS:-}
MAIN=${CLOJURE_MAIN:-clojure.main}
INIT=${CLOJURE_INIT:+--init ${CLOJURE_INIT}}
REPL=--repl

exec $JAVA $OPTS $MAIN $INIT $REPL $@

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to