Explanation: An internal application may be configured to always use a minimum version of the same library. Applications that require no specific version can be configured to use the latest version of the library.
Note:
* Specification-Version (a manifest Attributes for Java EE Libraries)
An optional String value that defines the specification version of the shared Java EE library. Referencing applications can optionally specify a required Specification-Version for a library; if the exact specification version is not available, deployment of the referencing application fails.
The Specification-Version uses the following format:
Major/minor version format, with version and revision numbers separated by periods (such as "9.0.1.1")
Referencing applications can be configured to require either an exact version of the shared Java EE library, a minimum version, or the latest available version.
* Implementation-Version (a manifest Attributes for Java EE Libraries)
An optional String value that defines the code implementation version of the shared
Java EE library. You can provide an Implementation-Version only if you have
also defined a Specification-Version.
* Extension-Name (a manifest Attributes for Java EE Libraries)
An optional string value that identifies the name of the shared Java EE library. Referencing applications must use the exact Extension-Name value to use the library.
As a best practice, always specify an Extension-Name value for each library. If you do not specify an extension name, one is derived from the deployment name of the library. Default deployment names are different for archive and exploded archive deployments, and they can be set to arbitrary values in the deployment command.
* After a library is deployed, the extension-name, specification-version and implementation-version of the library can be found in Administration console.