System properties are a way of getting information into the
Java runtime - they are a bit like environment variables.
There are two ways to set them when using STILTS: either
on the command line using arguments of the form
-Dname=value
(see Section 3.2)
or in a file in your home directory named
.starjava.properties
, in the form of a
name=value
line.
Thus submitting the flag
-Dvotable.strict=falseon the command line is equivalent to having the following in your
.starjava.properties
file:
# Force strict interpretation of the VOTable standard. votable.strict=false
The following system properties have special significance to STILTS:
http.proxyHost
java.awt.headless
true
" if running the
plotting tasks on a headless server.
You only need to worry about this if you see error messages
complaining about headlessness.
java.io.tmpdir
/tmp
on Unix),
so if working with large unmapped (e.g. CSV) tables
on a machine with limited space on the default disk,
it may be necessary to change it.
java.util.concurrent.ForkJoinPool.common.parallelism
jdbc.drivers
jel.classes
mark.workaround
mark()
/reset()
methods of some java
InputStream
classes. These are rather common,
including in Sun's J2SE system libraries.
Use this if you are seeing errors that say something like
"Resetting to invalid mark
".
Currently defaults to "false".service.maxparallel
auth.username
auth.password
@<filename>
",
in which case the value is read from the first line of the named file.
This replaces the normal behaviour of asking for a username and
password on the console; see the
section on Authentication
for more details.
Since this setting will pass the username and password information to any
protected resource without checking it is the intended destination,
this can potentially leak secret information to third parties,
so these properties should be set with care.
auth.schemes
AuthScheme
implementation classnames may be provided.
startable.readers
uk.ac.starlink.table.TableBuilder
interface,
and must have a no-arg constructor.
The readers thus named will be available
alongside the standard ones listed in Section 5.1.1.
startable.schemes
uk.ac.starlink.table.TableScheme
interface,
and must have a no-arg constructor.
The schemes thus named will be available
alongside the standard ones listed in Section 5.3.
startable.storage
disk
" has basically the same effect as
supplying the "-disk
" argument on the command line
(see Section 2.1).
Other possible values are "adaptive
", "memory
",
"sideways
" and "discard
";
see SUN/252.
The default is "adaptive
", which means storing smaller
tables in memory, and larger ones on disk.
startable.unmap
sun
" (the default),
"cleaner
", "unsafe
" or "none
".
In most cases you are advised to leave this alone, but in the event of
unmapping-related JVM crashes (not expected!), setting it to
none
may help.
startable.writers
uk.ac.starlink.table.StarTableWriter
interface,
and must have a no-arg constructor.
The writers thus named will be available
alongside the standard ones listed in Section 5.1.2.
votable.namespacing
none
" (no namespacing, xmlns declarations
in VOTable document will probably confuse parser),
"lax
" (anything that looks like it is probably a VOTable
element will be treated as a VOTable element) and
"strict
" (VOTable elements must be properly declared in one
of the correct VOTable namespaces).
May also be set to the classname of a
uk.ac.starlink.votable.Namespacing
implementation.
The default is "lax
".
votable.strict
FIELD
or PARAM
element with
a datatype
attribute of
char
/unicodeChar
,
and no arraysize
attribute.
The VOTable standard says this indicates a single character,
but some VOTables omit arraysize specification by accident when
they intend arraysize="*"
.
If votable.strict
is set true
,
a missing arraysize will be interpreted as meaning a single character,
and if false
, it will be interpreted as a variable-length
array of characters (a string).
The default is true
.
votable.version
1.0
", "1.1
",
"1.2
", "1.3
" or "1.4
".
By default, version 1.4 VOTables are written.