In most production environments, you will receive a deployable module as an archive file. An archive file is a single file that contains all of a J2EE module's classes, static files, directories, and deployment descriptor files. Archive files are created by using the jar utility to package the top-level directory of a J2EE module.
Modules that are packaged using the jar utility have specific file extension depending on the module type:
- EJBs are packaged as .JAR files.
- Web Applications are packaged as .WAR files.
- Resource Adapters are packaged as .RAR files.
- Enterprise Applications are packaged as .EAR files.
An exploded archive directory contains the same files and directories as a jar archive. However, the files and directories reside directly in your file system and are not packaged into a single archive file using the jar utility.
You may need to deploy a module as an exploded archive directory, rather than a single archive file, in the following circumstances:
- You are deploying an EJB, Web Application, or Enterprise Application that performs direct file system I/O. In this case, the components that perform the I/O operations should have a physical filesystem directory in which to work.
- You are deploying a Web Application or Enterprise Application that contains static files that you will periodically update. In this case, it is more convenient to deploy the module as an exploded directory, because you can update and refresh the static files without editing the archive.