type=page
status=published
title=version
next=manvol1m.html
prev=verify-domain-xml.html
~~~~~~

= version

[[version-1]][[GSRFM00261]][[version]]

== version

Displays version information for{productName}

[[sthref2347]]

=== Synopsis

[source]
----
asadmin [asadmin-options] version [--help]
[--verbose={false|true}]
[--local={false|true}]
----

[[sthref2348]]

=== Description

The `version` subcommand displays version information for
{productName}. By default, if the subcommand cannot contact the
domain administration server (DAS), the subcommand retrieves the version
information locally and displays a warning message.

This subcommand is supported in remote mode and local mode.

[[sthref2349]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--verbose`::
`-v`::
  If this option is set to `true`, the subcommand provides the version
  of the Java Runtime Environment (JRE) that the server is running. The
  default is `false`.
`--local`::
  If this option is set to `true`, the subcommand obtains the version
  locally from the installation of {productName} on the host where
  the subcommand is run. +
  If this option is set to `false` (default), the subcommand attempts to
  contact the DAS to obtain the version. If the attempt to contact the
  DAS fails, the subcommand retrieves the version locally and displays a
  warning message.

[[sthref2350]]

=== Examples

[[GSRFM800]][[sthref2351]]

==== Example 1   Obtaining Version Information From a Running DAS

[source]
----
asadmin> version
Version = Oracle GlassFish Server 3.1 (build 34)
Command version executed successfully.
----

[[GSRFM801]][[sthref2352]]

==== Example 2   Obtaining Version Information When the DAS Cannot be Reached

[source]
----
asadmin> version
Version string could not be obtained from Server [localhost:4848] for some reason.
(Turn debugging on e.g. by setting AS_DEBUG=true in your environment, to see the
 details).
Using locally retrieved version string from version class.
Version = Oracle GlassFish Server 3.1 (build 34)
Command version executed successfully.
----

[[GSRFM802]][[sthref2353]]

==== Example 3   Obtaining Version Information Locally

[source]
----
asadmin> version --local
Using locally retrieved version string from version class.
Version = Oracle GlassFish Server 3.1 (build 34)
Command version executed successfully.
----

[[sthref2354]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref2355]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:list-modules.html#list-modules-1[`list-modules`(1)]


