<?xml version="1.0" encoding="UTF-8"?>
<!--Arbortext, Inc., 1988-2009, v.4002-->
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN"
 "task.dtd">
<task id="tjtargetserver" xml:lang="en-us">
<title outputclass="id_title">Specifying target servers for J2EE projects</title>
<shortdesc outputclass="id_shortdesc">When you develop J2EE applications,
you can specify the server runtime environments for your J2EE projects.
The target server is specified during project creation and import,
and it can be changed in the project properties. The target server
setting is the default mechanism for setting the class path for J2EE
projects.</shortdesc>
<prolog><metadata>
<keywords><indexterm>J2EE<indexterm>target servers</indexterm></indexterm>
<indexterm>projects<indexterm>target servers</indexterm></indexterm>
<indexterm>target servers<indexterm>J2EE applications</indexterm></indexterm>
</keywords>
</metadata></prolog>
<taskbody outputclass="id_taskbody">
<context outputclass="id_context"><p outputclass="anchor_topictop"></p> <p>In
order to support different application servers that use different
JDK levels for their <tm tmclass="special"
tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm> Runtime
Environment (JRE), the workbench prompts you for a target server setting
for each J2EE project. For example, if you want to take advantage
of the features of JDK 1.4.2, your applications require different
class path entries than those that were used in previous versions
of the workbench. By prompting you to specify a target server, the
workbench enforces that proper entries are added for running on the
server you choose.</p><p>You can also add more than one target server
for your project. In this case, the workbench prevents you from adding
any facets not supported by all of the target servers. If you add
more than one target server, choose a server that will contribute
to the project's class path as the primary server.</p><p>When the
project is created, the class path of the project is updated with
two class path containers. One container is the JDK container and
the other is the server container. The JDK container points to the
directory that contains the JAR files that are necessary to support
the JDK version. The server container points to the directory that
contains the multiple public JAR files available in the selected server.
The project then compiles based on the required JAR files located
in these folders, and you do not need to worry about adding additional
JAR files from the server during development. When the project is
compiled, the JAR files are included in the class path. You can still
add your own JAR files to the class path.</p><p>The target runtime
environment is specified in the org.eclipse.wst.common.project.facet.core.xml
file in the project's .settings folder. You should not edit this file
manually; instead, use the properties window as described in this
topic.</p><p>All J2EE project creation and import wizards prompt you
to specify the target server for the resulting projects. The list
of target servers that you can choose from is filtered based on installed
runtimes, the J2EE level of the application, and the J2EE module type.
For example, for EJB projects only application servers that support
Enterprise <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="JavaBeans">JavaBeans</tm> are displayed. All
projects inside a single EAR file must be targeted to the same server.
If you create a new project and add it to an existing EAR project
during creation, the project inherits the target server setting of
the EAR project.</p><note>Utility <tm tmclass="special"
tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm> projects
that are added to an application are targeted to the same target server
as the application. Web library projects that are added to a Web project
are targeted to the same target server as the Web project.</note><p>To
modify the target runtime and default server for an existing project,
complete the following steps:</p></context>
<steps outputclass="id_steps">
<step><cmd>In the Project Explorer view of the <tm tmclass="special"
tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm> EE
perspective, right-click the enterprise application or module project,
and select <uicontrol>Properties</uicontrol>.</cmd></step>
<step><cmd>Select the <uicontrol>Targeted Runtimes</uicontrol> page
in the Properties dialog.</cmd></step>
<step><cmd>In the <uicontrol>Targeted Runtimes</uicontrol> list, select
the check boxes next to each of the runtimes that you want to develop
the project for. If you don't see the runtime that you want to use,
you need to add it to the runtimes in the workbench. For more information,
see <xref
href="../../org.eclipse.wst.server.ui.doc.user/topics/twinstprf.dita"
scope="peer">Defining the installed server runtime environments</xref>.</cmd>
<info><note>Only the runtimes compatible with the project's facets
are shown. You can select the <uicontrol>Show all runtimes</uicontrol> check
box to display the runtimes not compatible with the project's current
facet configuration. These runtimes are grayed out.</note></info></step>
<step><cmd>To select the primary runtime, click on a runtime and then
click the <uicontrol>Make Primary</uicontrol> button.</cmd><info>If
you select any runtimes for the project, you must make one of those
runtimes the primary runtime for the project. If you select only one
runtime from the list, that runtime is automatically made the primary
runtime. The primary runtime is shown in bold text.</info></step>
<step><cmd>Click <uicontrol>OK</uicontrol>.</cmd></step>
</steps>
<postreq outputclass="id_postreq"><p outputclass="anchor_topicbottom"></p></postreq>
</taskbody>
</task>
