# Plug-in Archives

Plug-ins and plug-in fragments are individually packaged as separate Java .jars. Standard Java jar facilities are used for constructing plug-in archives. There is no distinction made between a plug-in archive containing a plug-in and one containing a plug-in fragment.

The recommended convention for naming the plug-in archives is
`<id>_<version>.jar`

Where `<id>` is the plug-in or fragment identifier and `<version>` is the full version identifier contained in the respective plugin.xml or fragment.xml. Note that this is a recommended convention that minimizes chance of collisions, but is not required by the Eclipse architecture. For example, the following are valid plug-in archive names

`org.eclipse.platform_1.0.3.jar`
`org.eclipse.ui.nl_2.0.jar`
`my_plugin.jar`

Internally, each plug-in archive packages all the relevant plug-in or fragment files relative to its plug-in or fragment directory (but not including the directory path element). The archive has the following structure

`plugin.xml *OR* fragment.xml`
`other plug-in or fragment files and subdirectories`
`META-INF/`
`Java jar manifest and security files`