type=page
status=published
title=package-appclient
next=manvol5asc.html
prev=capture-schema.html
~~~~~~

= package-appclient

[[package-appclient-1m]][[GSRFM00264]][[package-appclient]]

== package-appclient

Packs the application client container libraries and jar files

[[sthref2387]]

=== Synopsis

[source]
----
package-appclient
----

[[sthref2388]]

=== Description

Use the `package-appclient` command to pack the application client
container libraries and jar files into an `appclient.jar` file, which is
created in the as-install``/lib`` directory on the machine on which
{productName} is installed. The `appclient.jar` file provides an
application client container package targeted at remote hosts that do
not contain a server installation.

After copying the `appclient.jar` file to a remote location, unjar or
unzip it to get a set of libraries and jar files in the `appclient`
directory under the current directory.

After unjarring on the client machine, modify
`appclient/glassfish/config/asenv.conf` (`asenv.bat` for Windows) as follows:

* set `AS_WEBSERVICES_LIB` to path-to-appclient`/appclient/lib`
* set `AS_IMQ_LIB` to path-to-appclient`/appclient/mq/lib`
* set `AS_INSTALL` to path-to-appclient``/appclient``
* set `AS_JAVA` to your JDK 7 or JRE 7 home directory
* set `AS_ACC_CONFIG` to
path-to-appclient``/appclient/glassfish/domains/domain1/config/sun-acc.xml``

Modify `appclient/glassfish/domains/domain1/config/sun-acc.xml` as follows:

* Ensure the `DOCTYPE` file references
  path-to-appclient``/appclient/glassfish/lib/dtds``
* Ensure that `target-server` address attribute references the server machine.
* Ensure that `target-server` port attribute references the ORB port on
  the remote machine.
* Ensure that `log-service` references a log file; if the user wants to
  put log messages to a log file.

To use the newly installed application client container, you must do the
following:

* Obtain the application client files for your target application,
  including the generated yourAppClient.jar file.
* Execute the `appclient` utility: ``appclient -``client yourAppClient.jar

[[sthref2389]]

=== Attributes

See
http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
for descriptions of the following attributes:

[width="100%",cols="50%,50%",options="header",]
|===
|ATTRIBUTE TYPE |ATTRIBUTE VALUE
|Interface Stability |Unstable
|===


[[sthref2390]]

=== See Also

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


