type=page
status=published
title=list-libraries
next=list-lifecycle-modules.html
prev=list-jvm-options.html
~~~~~~

list-libraries
==============

[[list-libraries-1]][[GSRFM00819]][[list-libraries]]

list-libraries
--------------

Lists library JAR files on \{product---name}

[[sthref1615]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-libraries [--help]
[--type={common|ext|app}]
----

[[sthref1616]]

=== Description

The `list-libraries` subcommand lists library archive files on
\{product---name}.

The `--type` option specifies the library type and the \{product---name}
directory for which libraries are to be listed.

This subcommand is supported in remote mode only.

[[sthref1617]]

=== 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.
`--type`::
  Specifies the library type and the \{product---name} directory for
  which libraries are listed. Valid values are as follows:
+
--
  `common`;;
    Lists the library files for the Common class loader directory,
    domain-dir`/lib`. This is the default.
  `ext`;;
    Lists the library files for the Java optional package directory,
    domain-dir`/lib/ext`.
  `app`;;
    Lists the library files for the application-specific class loader
    directory, domain-dir`/lib/applibs`.
--
+
For more information about these directories, see
  "link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
  Edition Application Development Guide.

[[sthref1618]]

=== Examples

[[GSRFM831]][[sthref1619]]

==== Example 1   Listing Libraries

This example lists the libraries in the application-specific class
loader directory on the default server instance.

[source]
----
asadmin> list-libraries --type app
mylib.jar
xlib.jar
ylib.jar
zlib.jar
Command list-libraries executed successfully.
----

[[sthref1620]]

=== Exit Status

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

[[sthref1621]]

=== See Also

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

link:add-library.html#add-library-1[`add-library`(1)],
link:remove-library.html#remove-library-1[`remove-library`(1)]

"link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
Edition Application Development Guide


