.'" t
." Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
." This code is free software; you can redistribute it and/or modify it
." under the terms of the GNU General Public License version 2 only, as
." published by the Free Software Foundation.
."
." This code is distributed in the hope that it will be useful, but WITHOUT
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
." version 2 for more details (a copy is included in the LICENSE file that
." accompanied this code).
."
." You should have received a copy of the GNU General Public License version
." 2 along with this work; if not, write to the Free Software Foundation,
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
."
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
." ` 
.TH javaws 1 "05 Aug 2006"
." Generated by html2roff

.LP

.LP
.SH NAME
\f2javaws\fP Command Line
.LP

.LP
.LP
\ 
.LP
.SS 
NAME
.LP

.LP
.LP
\f2javaws\fP \- Java Web Start launcher command
.LP
.SS 
SYNOPSIS
.LP

.LP
.LP
\f2javaws [ options ] [ URL ]\fP
.LP
.SS 
PARAMETERS
.LP

.LP
.LP
\f2options\fP
.LP
.RS 3

.LP
.LP
Command\-line options. Options may be in any order. For a discussion of the various options, see OPTIONS below.
.LP
.RE
.LP
\f2URL\fP
.LP
.RS 3

.LP
.LP
Uniform Resource Locator (\f2URL\fP) of the JNLP (Java Net\-work Launching Protocol) file.
.LP
.RE
.SS 
DESCRIPTION
.LP

.LP
.LP
The \f2javaws\fP command launches Java Web Start, which is the reference implementation of the Java Network Launching Protocol (JNLP). Java Web Start launches Java applications/applets hosted on a network.
.LP
.LP
Without any options \f2javaws\fP will launch the Java JNLP Application Manager, from which users can launch applications/applet or configure Java Web Start.
.LP
.LP
If a \f2URL\fP for a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file.
.LP
.SS 
OPTIONS
.LP

.LP
.LP
The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release. All \f2\-X\fP options are non\-standard and subject to change.
.LP
.LP
\f2\-offline\fP
.LP
.RS 3

.LP
.LP
Runs Java Web Start in offline mode.
.LP
.RE
.LP
\f2\-uninstall <URL>\fP
.LP
.RS 3

.LP
.LP
Removes a specific application/applet from the user's cache, as indicated by the URL for the JNLP file. If \f2<URL>\fP is not specified, the entire cache is removed. Java Web Start will exit after the command is completed.
.LP
.RE
.LP
\f2\-updateVersions\fP
.LP
.RS 3

.LP
.LP
Updates the Java Web Start configuration file based on the current machine's settings. Java Web Start will exit after the command is completed.
.LP
.RE
.LP
\f2\-Xclearcache\fP
.LP
.RS 3

.LP
.LP
Clears the user's cache. Java Web Start will exit after the command is completed.
.LP
.RE
.LP
\f2\-Xnosplash\fP
.LP
.RS 3

.LP
.LP
Disables the display of the initial splash screen.
.LP
.RE
.LP
\f2\-import\fP
.LP
.RS 3

.LP
.LP
Imports the application specified by URL into the user's cache but does not run it.
.LP
.RE
.LP
\f2\-silent\fP
.LP
.RS 3

.LP
.LP
When used with the \f2\-import\fP option, imports in silent mode; i.e., there will be no UI pop up. The process exit code will be either 0 if successful or 1 if not.
.LP
.RE
.LP
\f2\-codebase <url>\fP
.LP
.RS 3

.LP
.LP
Replaces the codebase with \f2<url>\fP in the jnlp file specified when importing the resources. \f2<url>\fP must be a valid \f2URL\fP.
.LP
.RE
.LP
\f2\-system\fP
.LP
.RS 3

.LP
.LP
Uses the system cache instead of the user cache.
.LP
.RE
.LP
\f2\-shortcut\fP
.LP
.RS 3

.LP
.LP
Allows the creation of shortcuts during silent import.
.LP
.RE
.LP
\f2\-association\fP
.LP
.RS 3

.LP
.LP
Allows the creation of associations during silent import.
.LP
.RE
.LP
\f2\-open <arguments>\fP
.LP
.RS 3

.LP
.LP
If specified, replaces the arguments in the jnlp file with \f2\-open <arguments>\fP.
.LP
.RE
.LP
\f2\-print <arguments>\fP
.LP
.RS 3

.LP
.LP
If specified, replaces the arguments in the jnlp file with \f2\-print <arguments>\fP.
.LP
.RE
.LP
\f2\-online\fP
.LP
.RS 3

.LP
.LP
Runs in online mode (default behavior).
.LP
.RE
.LP
\f2\-viewer\fP
.LP
.RS 3

.LP
.LP
Runs the Java Application Cache Viewer (default if no URL is specified).
.LP
.RE
.LP
\f2\-userConfig <property name>\fP
.LP
.RS 3

.LP
.LP
Clears the specified deployment property.
.LP
.RE
.LP
\f2\-userConfig <property name> <property value>\fP
.LP
.RS 3

.LP
.LP
Sets the specified deployment property to the specified value.
.LP
.RE
.LP
\f2\-wait\fP
.LP
.RS 3

.LP
.LP
If specified, the \f2javaws\fP process will not exit until the application exits.
.LP
.RE
.LP
\ 
.LP
.SS 
FILES
.LP

.LP
.LP
For information about the user and system cache and deployment.properties files, see 
.na
\f2System\- and User\-Level Properties\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html.
.LP
.SS 
MORE INFORMATION
.LP

.LP
.LP
For more information about Java Web Start, see 
.na
\f2Java Web Start version 1.5.0\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html.
.LP
.RS 3

.LP
.LP
\ 
.LP
.RE
 
