<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<!-- /*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/ -->
<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
<title>Creating EJB projects</title>
</head>
<body id="tecrtpro"><a name="tecrtpro"><!-- --></a>

<h1 class="topictitle1">Creating EJB projects</h1>
<div><p>An EJB project is used to organize the resources contained in an
EJB module.</p>
<div class="section"><p>An EJB module is used to assemble one or more enterprise beans
into a single deployable unit. It is deployed in a standard Java archive
(JAR) file. An EJB module can be used as a standalone application, or it can
be combined with other modules to create a J2EE enterprise application. An
EJB module is installed and run in an enterprise bean container. An EJB project
must be referenced by an enterprise application project (defined as a module
in an EAR) in order to be deployed successfully and run on a server.</p>
<p>An
EJB module contains the following:</p>
<ul>
	<li>One or more deployable enterprise beans.</li>
<li>A deployment descriptor, stored in an Extensible Markup Language (XML)
file. This file declares the contents of the module, defines the structure
and external dependencies of the beans in the module, and describes how the
enterprise beans are to be used at run time.</li>
</ul>
<p>To create a new EJB project:</p>
</div>
<ol>
	<li class="stepexpand"><span>In the J2EE perspective, select <b>File</b> &gt; <b>New</b> &gt; <b>Other</b> &gt; <b>EJB</b> &gt; <b>EJB Project</b></span>. The New EJB Project wizard
opens.</li>
<li class="stepexpand"><span>In the <b>Project Name</b> field, type a name for the EJB
project.</span></li> 
<li class="stepexpand"><span><b>Optional: </b>To use a different workspace directory for your EJB project, modify the settings for <b>Project contents</b>.</span>
<br/><b>Important: </b>If you specify a non-default project location that is already being used
by another project, the project creation will fail.</li>

<li class="stepexpand"><span>In the <b>Target runtime</b> drop-down list, select
the application server that you want to target for your development. This
selection affects the compilation and runtime settings by modifying the class
path entries for the project. Use the <b>New</b> button if a target runtime 
does not exist, or if you want to use a different one.</span></li>
<li class="stepexpand"><strong>Optional: </strong><span>Select the <b>Add project to an EAR</b>	check box to add the new module to an enterprise application
(EAR) project.</span> Type a new project name or select an existing enterprise
application project from the drop-down list in the <b>EAR Project Name</b> combination
box. Or, click the <b>New</b> button to launch the New Enterprise
Application Project wizard.
</li>
<li class="stepexpand">Click <b>Next</b>.</li>
<li class="stepexpand">Select the appropriate <b>Project Facets</b> for your EJB project. A project facet is a
	set of internal functions that add support for a given technology.</li>
<li class="stepexpand">Click <b>Next</b>.</li>
<li class="stepexpand"><b>Optional: </b>Change the value of <b>Source Folder</b> to change the directory where the Java source files are stored.	
</li>
<li class="stepexpand"><strong>Optional: </strong><span>Select the <b>Create an EJB Client
JAR Project to hold the client interfaces and classes</b> check box
if you want the client interface classes for your enterprise beans to be kept
in a separate EJB client JAR file. This EJB client JAR file will be added
to the enterprise application as a project utility JAR file. You can also modify 
the <b>Name</b> of the EJB Client JAR project, or the name (<b>Client JAR URI</b>) 
of the client JAR file.</span></li>
<li class="stepexpand"><span>Click <b>Finish</b>.</span></li>
</ol>
</div>
<p>
		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
		</p> 
</body>
</html>