<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2006, v.4002-->
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN"
 "task.dtd">
<task id="tjappproj" xml:lang="en-us">
<title outputclass="id_title">Creating an application client project</title>
<shortdesc outputclass="id_shortdesc">You can use a wizard to create a new
application client project and add it to a new or existing enterprise application
project.</shortdesc>
<prolog><metadata>
<keywords><indexterm>application client projects<indexterm>creating</indexterm></indexterm>
</keywords>
</metadata></prolog>
<taskbody outputclass="id_taskbody">
<context outputclass="id_context"> <p outputclass="anchor_topictop"></p> <p>Application
client projects contain the resources needed for application client modules
and programs that run on networked client systems. An application client project
is deployed as a JAR file.</p><p>Like the other types of projects, application
client projects can contain one or more project facets, which represent units
of functionality in the project. A new application client project should have
the Application Client module facet. Depending on what you want to use the
project for, you may want to enable other facets for the project.</p><p>To
create a J2EE application client project, complete the following steps:</p></context>
<steps outputclass="id_steps">
<step><cmd>In the <tm tmclass="special" tmowner="Sun Microsystems, Inc." tmtype="tm"
trademark="Java">Java</tm> EE perspective, click <menucascade><uicontrol>File</uicontrol>
<uicontrol>New</uicontrol><uicontrol>Project</uicontrol></menucascade>.</cmd>
</step>
<step><cmd>In the New Project Wizard, select <menucascade><uicontrol>J2EE</uicontrol>
<uicontrol>Application Client Project</uicontrol></menucascade> and click <uicontrol>Next</uicontrol>.</cmd>
</step>
<step><cmd>In the <uicontrol>Project Name</uicontrol> field, type a name for
the application client project. </cmd></step>
<step importance="optional"><cmd>To change the default project location, clear
the <uicontrol>Use default</uicontrol> check box under <uicontrol>Project
contents</uicontrol> and select a new location with the <uicontrol>Browse</uicontrol> button.</cmd>
<info>If you specify a non-default project location that is already being
used by another project, the project creation will fail.<note>If you type
a new EAR project name, the EAR project will be created in the default location
with the lowest compatible J2EE version based on the version of the project
being created. If you want to specify a different version or a different location
for the enterprise application, you must use the New Enterprise Application
Project wizard.</note></info></step>
<step importance="optional"><cmd>To add the new project to an enterprise application
project, select the <uicontrol>Add project to an EAR</uicontrol> check box
and select a project in the <uicontrol>EAR Project Name</uicontrol> list.</cmd>
<info>If you choose to add the project to an existing EAR project, the <uicontrol>Target
runtime</uicontrol> field becomes disabled because the target runtime for
the new project will be the same as that of the EAR project.</info></step>
<step><cmd>In the <uicontrol>Target runtime</uicontrol> field, select the
target runtime for the project.</cmd></step>
<step importance="optional"><cmd>To use a predefined configuration for your
project, select a configuration in the <uicontrol>Configuration</uicontrol> list.
You can click the <uicontrol>Modify</uicontrol> button to do the following:</cmd>
<info><ul>
<li>Customize project facets. Select the check boxes next to the facets you
want the project to have and select a version number for each facet. Select
a facet name to see more information about that facet in the <uicontrol>Details</uicontrol> tab.
You can also choose a preset combination of facets from the <uicontrol>Configurations</uicontrol> list.</li>
<li>Limit your project to be compatible with one or more runtimes. Click the <uicontrol>Show
Runtimes</uicontrol> tab and select the runtimes that you want the project
to be compatible with. </li>
</ul>Click <uicontrol>Next</uicontrol>.</info></step>
<step><cmd>In the <uicontrol>Source Folder</uicontrol> field, enter the name
of the folder to use for source code. </cmd></step>
<step importance="optional"><cmd>To create a default class for the module,
select the <uicontrol>Create a default Main class</uicontrol> check box.</cmd>
</step>
<step><cmd>Click <uicontrol>Finish</uicontrol>.</cmd></step>
</steps>
<postreq outputclass="id_postreq"><p outputclass="anchor_topicbottom"></p></postreq>
</taskbody>
</task>
