." Copyright 2003-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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
." or visit www.oracle.com if you need additional information or have any
." questions.
."
.TH javaws 1 "04 May 2009"
." Generated from HTML by html2man (author: Eric Armstrong)

.LP

.LP
.SH "Name"
\f2javaws\fP Command Line
.LP

.LP
.LP
\ 
.LP
.SS 
NAME
.LP
.RS 3

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

.LP
.LP
\f2javaws [run\-options] <jnlp>\fP
.LP
.LP
\f2javaws [control\-options]\fP
.LP
.RE
.SS 
PARAMETERS
.LP
.RS 3

.LP
.LP
\f2[run\-options]\fP
.LP
.RS 3

.LP
.LP
Command\-line run\-options. run\-options may be in any order. For a discussion of the various run\-options, see RUN\-OPTIONS below.
.LP
.RE
.LP
\f2<jnlp>\fP
.LP
.RS 3

.LP
.LP
This can be either the path of, or the Uniform Resource Locater (URL) of the JNLP (Java Network Launching Protocol) file.
.LP
.RE
.LP
\f2[control\-options]\fP
.LP
.RS 3

.LP
.LP
Command\-line control\-options. control\-options may be in any order. For a discussion of the various control\-options, see CONTROL\-OPTIONS below.
.LP
.RE
.RE
.SS 
DESCRIPTION
.LP
.RS 3

.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
If a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file.
.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.
.LP
.RE
.SS 
RUN\-OPTIONS
.LP
.RS 3

.LP
.LP
\f2\-offline\fP
.LP
.RS 3

.LP
.LP
run Java Web Start in offline mode.
.LP
.RE
.LP
\f2\-Xnosplash\fP
.LP
.RS 3

.LP
.LP
disable the display of the initial splash screen.
.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
run in online mode (default behavior).
.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
\f2\-verbose\fP
.LP
.RS 3

.LP
.LP
display additional output.
.LP
.RE
.LP
\f2\-J<option>\fP
.LP
.RS 3

.LP
.LP
supply options to the vm.
.LP
.RE
.LP
\f2\-system\fP
.LP
.RS 3

.LP
.LP
run the application from the system cache only.
.LP
.RE
.RE
.SS 
CONTROL\-OPTIONS
.LP
.RS 3

.LP
.LP
\f2\-viewer\fP
.LP
.RS 3

.LP
.LP
show the Cache Viewer in the java control panel
.LP
.RE
.LP
\f2\-userConfig <property name>\fP
.LP
.RS 3

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

.LP
.LP
set the specified deployment property to the specified value.
.LP
.RE
.LP
\f2\-uninstall\fP
.LP
.RS 3

.LP
.LP
remove all applications from the cache.
.LP
.RE
.LP
\f2\-uninstall <jnlp>\fP
.LP
.RS 3

.LP
.LP
remove the application from the cache.
.LP
.RE
.LP
\f2\-import [import\-options] <jnlp>\fP
.LP
.RS 3

.LP
.LP
import the application to the cache.
.LP
.RE
\f3IMPORT\-OPTIONS\fP
.LP
.LP
\f2\-silent\fP
.LP
.RS 3

.LP
.LP
import silently (with no user interface).
.LP
.RE
.LP
\f2\-system\fP
.LP
.RS 3

.LP
.LP
import application to the system cache.
.LP
.RE
.LP
\f2\-codebase <url>\fP
.LP
.RS 3

.LP
.LP
retrieve resources from the given codebase.
.LP
.RE
.LP
\f2\-shortcut\fP
.LP
.RS 3

.LP
.LP
install shortcuts as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used.
.LP
.RE
.LP
\f2\-association\fP
.LP
.RS 3

.LP
.LP
install associations as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used.
.LP
.RE
.RE
.SS 
FILES
.LP
.RS 3

.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
.RE
.SS 
MORE INFORMATION
.LP
.RS 3

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

.LP
.LP
\ 
.LP
.RE
.RE

.LP
 
