type=page
status=published
title=get-client-stubs
next=get-health.html
prev=get-active-module-config.html
~~~~~~
get-client-stubs
================

[[get-client-stubs-1]][[GSRFM00140]][[get-client-stubs]]

get-client-stubs
----------------

retrieves the application JAR files needed to launch the application
client.

[[sthref1227]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] get-client-stubs [--help] 
--appname application_name
local_directory_path
----

[[sthref1228]]

Description

The `get-client-stubs` subcommand copies the required JAR files for an
`AppClient` standalone module or each `AppClient` module in an
application from the server machine to the local directory. Each
client's generated JAR file is retrieved, along with any required
supporting JAR files . The client JAR file name is of the form
app-name`Client.jar`. Before executing the `get-client-stubs`
subcommand, you must deploy the application or module. The generated
client JAR file is useful for running the application using the
`appclient` utility. This subcommand is supported in remote mode only.

[[sthref1229]]

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.
`--appname`::
  The name of the application or stand-alone client module. +
  The name can include an optional version identifier, which follows the
  name and is separated from the name by a colon (`:`). The version
  identifier must begin with a letter or number. It can contain
  alphanumeric characters plus underscore (`_`), dash (`-`), and period
  (`.`) characters. For more information about module and application
  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
  GlassFish Server Open Source Edition Application Deployment Guide.

[[sthref1230]]

Operands

local_directory_path::
  The path to the local directory where the client stub JAR file should
  be stored.

[[sthref1231]]

Examples

[[GSRFM622]][[sthref1232]]

Example 1   Using get-client-stubs

[source,oac_no_warn]
----
asadmin> get-client-stubs --appname myapplication /sample/example
Command get-client-stubs executed successfully
----

[[sthref1233]]

Exit Status

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

[[sthref1234]]

See Also

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

link:deploy.html#deploy-1[`deploy`(1)],
link:redeploy.html#redeploy-1[`redeploy`(1)],
link:undeploy.html#undeploy-1[`undeploy`(1)]

link:appclient.html#appclient-1m[`appclient`(1M)],
link:package-appclient.html#package-appclient-1m[`package-appclient`(1M)]

link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
Guide]


