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 {productName}

[[sthref1615]]

=== Synopsis

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

[[sthref1616]]

=== Description

The `list-libraries` subcommand lists library archive files on
{productName}.

The `--type` option specifies the library type and the {productName}
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 {productName} 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


