type=page
status=published
title=remove-library
next=restart-domain.html
prev=redeploy.html
~~~~~~

= remove-library

[[remove-library-1]][[GSRFM00820]][[remove-library]]

== remove-library

Removes one or more library JAR files from {productName}

[[sthref1970]]

=== Synopsis

[source]
----
asadmin [asadmin-options] remove-library [--help]
[--type={common|ext|app}]
library-name [library-name ... ]
----

[[sthref1971]]

=== Description

The `remove-library` subcommand removes one or more library JAR files
from {productName}.

The `--type` option specifies the library type and the {productName}
directory from which the library is removed.

The library-name operand is the name of the JAR file that contains the
library to be removed. To specify multiple libraries, specify multiple
names separated by spaces.

[NOTE]
====
The library archive file is removed from the DAS. For common and
extension libraries, you must restart the DAS so the library removals
are picked up by the server runtime. To remove the libraries from other
server instances, synchronize the instances with the DAS by restarting
them.

This command is not supported on the Windows operating system.
====

This subcommand is supported in remote mode only.

[[sthref1972]]

=== 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 from
  which the library is removed. Valid values are as follows:

  `common`;;
    Removes the library files from the Common class loader directory,
    domain-dir``/lib``. This is the default.
  `ext`;;
    Removes the library files from the Java optional package directory,
    domain-dir`/lib/ext`.
  `app`;;
    Removes the library files from 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 {productName} Application Development Guide.

[[sthref1973]]

=== Operands

library-name::
  The names of the JAR files that contain the libraries that are to be
  removed.

[[sthref1974]]

=== Examples

[[GSRFM832]][[sthref1975]]

==== Example 1   Removing Libraries

This example removes the library in the archive file `mylib.jar` from
the application-specific class loader directory on the default server
instance.

[source]
----
asadmin> remove-library --type app mylib.jar
Command remove-library executed successfully.
----

[[sthref1976]]

=== Exit Status

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

[[sthref1977]]

=== See Also

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

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

"link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in {productName} Application Development Guide


