Deploying Applications to WebLogic Server
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The following sections provide a basic overview of key WebLogic Server deployment topics:
WebLogic Server supports deployment of standard J2EE modules and applications, as well as JDBC and JMS resource modules, as described in Supported Deployment Units. When preparing supported applications and modules for deployment, an Administrator has several options with regard to how the deployment files are arranged:
WebLogic Server supports deployments that are packaged either as archive files using the jar
utility or Ant's jar
tool, or as exploded archive directories.
Note: In general, using archived files is more efficient when deploying applications to managed servers. However, it makes updating the application, such as updating web content, more difficult as it requires a redeployment of the application.
An archive file is a single file that contains all of an application's or module's classes, static files, directories, and deployment descriptor files. In most production environments, the applications an Administrator receives for deployment are stored as archive files.
Deployment units that are packaged using the jar
utility have a specific file extension depending on the type:
.jar
files..war
files..rar
files..ear
files, and can contain other J2EE modules such as EJBs, Web Applications, and Resource Adapters..war
files or as .jar
files, depending on whether they are implemented using Java classes or EJBs..ear
file) or as a standard J2EE module..jar
files.In addition to an archive file, you may also receive a deployment plan, which is a separate file that configures the application for a specific environment. Configuring Applications for Production Deployment describes deployment plans in more detail.
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 with the jar
utility.
You may choose to deploy from an exploded archive directory under the following circumstances:
If you have an archive file that you want to deploy as an exploded archive directory, use the jar
utility to unpack the archive file in a dedicated directory. For example:
mkdir /myapp
cd /myapp
jar xvf /dist/myapp.ear
If you are unpacking an archive file that contains other module archive files (for example, an Enterprise Application or Web Service that includes JAR or WAR files) and you want to perform partial updates of those modules, you must expand the embedded archive files as well. Make sure that you unpack each module into a subdirectory having the same name as the archive file. For example, unpack a module named myejb.jar
into a /myejb.jar
subdirectory of the exploded Enterprise Application directory.
Note: If you want to use different subdirectory names for the archived modules in an exploded EAR file, you must modify any references to those modules in the application itself. For example, you must update the URI values specified in application.xml
and CLASSPATH
entries in the manifest.mf
file.
When you first deploy an application or stand-alone module to one or more WebLogic Server instances, you specify a deployment name to describe collectively the deployment files, target servers, and other configuration options you selected. You can later redeploy or stop the deployment unit on all target servers by simply using the deployment name. The deployment name saves you the trouble of re-identifying the deployment files and target servers when you want to work with the deployment unit across servers in a domain.
If you do not specify a deployment name at deployment time, the deployment tool selects a default name based on the deployment source file(s). For archive files, weblogic.Deployer
uses the name of the archive file without the file extension. For example, the file myear.ear
has a default deployment name of myear
. For an exploded archive directory, weblogic.Deployer
uses the name of the top-level directory you deploy.
For J2EE libraries and optional packages, weblogic.Deployer
uses the name specified in the library's manifest file. If no name was specified in the library's manifest file, you can specify one with the -name
option.
See the following section, Understanding Application Naming Requirements for information on application naming requirements; See Deploying Applications and Modules to specify a non-default deployment name.
In order to successfully deploy an application to WebLogic Server, the application name must be valid. Application naming requirements are as follows:
.
(period/dot) character must contain at least one additional different character; ".
" and "..
" are not valid application names.
In addition to a deployment name, an application or module can also have an associated version string. The version string distinguishes the initial deployment of the application from subsequent redeployed versions. For example, you may want to later update the application to fix problems or add new features. In production systems, it is critical to maintain a version string for both the initial and subsequent deployments of an application. Doing so allows you to update and redeploy an application version without interrupting service to existing clients. See Updating Applications in a Production Environment for more information.
The version string is specified in the manifest file for the application, and should be provided by your development team along with the other deployment files. Specifying Application Versions in Developing WebLogic Server Applications describes the conventions for specifying the version string.
The application installation directory separates generated configuration files from the core application files, so that configuration files can be easily changed or replaced without disturbing the application itself. The directory structure also helps you to organize and maintain multiple versions of the same application deployment files.
The following figure shows the directory hierarchy for storing a single version of a deployable application or module.
Figure 3-1 Application Installation Directory
BEA recommends copying all new production deployments into an application installation directory before deploying to a WebLogic Server domain. Deploying from this directory structure helps you easily identify all of the files associated with a deployment unit—you simply deploy the installation root using the Administration Console, and the Console automatically locates associated files such as deployment plans and WebLogic Server deployment descriptors that were generated during configuration.
To create an application installation directory:
mkdir c:\deployments\production\myApplication
mkdir c:\deployments\production\myApplication\91Beta
app
and plan
under the version subdirectory:mkdir c:\deployments\production\myApplication\91Beta\app
mkdir c:\deployments\production\myApplication\91Beta\plan
Note: If you have more than one deployment plan associated with the application, create one \plan
subdirectory for each plan. For example, if you have two deployment plans associated with the 91Beta
version of the application myApplication
, you would create two \plan
subdirectories. For instance:
mkdir c:\deployments\production\myApplication\91Beta\plan1
mkdir c:\deployments\production\myApplication\91Beta\plan2
\app
subdirectory. If you are deploying from an archive file, simply copy the archive file, as in:cp c:\downloads\myApplication.ear c:\deployments\production\myApplication\91Beta\app
If you are deploying from an exploded archive directory, copy the complete exploded archive directory into \app
:
cp -r c:\downloads\myApplication c:\deployments\production\myApplication\91Beta\app
This results in the new directory, c:\deployments\production\myApplication\91Beta\app\myApplication
.
\plan
subdirectories. If you have one deployment plan for the application:
cp c:\downloads\myApplicationPlans\plan.xml c:\deployments\production\myApplication\91Beta\plan
If you have two deployment plans for the application:
cp c:\downloads\myApplicationPlans\plan1.xml c:\deployments\production\myApplication\91Beta\plan1
cp c:\downloads\myApplicationPlans\plan2.xml c:\deployments\production\myApplication\91Beta\plan2
Note: If you do not have an existing deployment plan, you can create one using the Administration Console as described in Configuring Applications for Production Deployment. The Administration Console automatically stores newly-generated deployment plans in the \plan
subdirectory of the application installation directory.
plan.xml
, if one is available in the \plan
subdirectory. The Administration Console does not identify plans in subdirectories other than the \plan
subdirectory; in other words, plans in \plan1
or \plan2
subdirectories are not identified by the Administration Console. Therefore, if multiple plans for your application are available, you must indicate, in config.xml
, the plan you would like to use. See Configuring Applications for Production Deployment. For information on config.xml, see Creating WebLogic Domains Using the Configuration Wizard.After installing the application, you can configure, deploy, or distribute the application as necessary.
Note: You cannot specify an application installation directory when using the weblogic.Deployer
tool, and the tool does not use an available plan.xml
file by default. You must specify the actual deployment file(s) and plan to use for deployment. See Deploying Applications and Modules.
BEA recommends the following best practices when preparing applications and modules for deployment:
![]() ![]() |
![]() |
![]() |