<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../../../../../default_style.css" type="text/css">
<link rel="stylesheet" href="../../../../../../webtools/wtp.css" type="text/css">
<title>test plan: wtp project explorer.</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">wst common</font>
<br>
<font class="indexsub">test plan: wtp project explorer.</font></td><td width="40%"><img width="120" hspace="50" height="86" align="middle" src="../../../../../../images/Idea.jpg"></td>
</tr>
</tbody>
</table>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<col width="16">
<col width="*">
<tbody>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Importing modules</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>There are two ways to access the list of all the available import
		wizards from the Project Explorer:
		</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<ol>
			
<li>File-&gt;Import...
				
			</li>
			
<br>
			
<br>
			
<TABLE cellspacing="10" cellpadding="10">
				
<TR>
					
<TD>
					
<P>
<IMG src="images/notesbuddy3532_30400.jpg"></P>
					
</TD>
				
</TR>
				
<TR>
					
<TD>
					
<P>
<I>Figure 1: Select "Import" from the Workbench "File" menu.</I>
</P>
					
</TD>
				
</TR>
			
</TABLE>
		
			
<li>Right click in Project Explorer and select:
			Import...-&gt;Import... on a selection or just Import... on
			whitespace.
			</li>			
			
<TABLE cellspacing="10" cellpadding="10">
				
<TR>
					
<TD>
					
<P>
<IMG src="images/notesbuddy3532_30688.jpg"></P>
					
</TD>
				
</TR>
				
<TR>
					
<TD>
					
<P>
<I>Figure 2: Right-click on the open space in the Project
					Explorer and select "Import...".</I>
</P>
					
</TD>
				
</TR>
			
</TABLE>			
		
</ol>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">J2EE Import</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
		The Project Explorer in the J2EE Perspective provides additional import support for J2EE artifacts.
		The J2EE groups, as show below, each have a menu item to import the specific type of J2EE module
		or application for the selected J2EE group.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<TABLE cellspacing="10" cellpadding="10">
			
<TR>
				
<TD>
				
<P>
<IMG src="images/notesbuddy3532_31145.jpg"></P>
				
</TD>
			
</TR>
			
<TR>
				
<TD>
				
<P>
<I>Figure 3: Select "Import" from the Module Group of your choice
				in the Project Explorer.</I>
</P>
				
</TD>
			
</TR>
		
</TABLE>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<UL>
			
<LI>
			
<P>Right-click on the Enterprise Applications group, select
			Import...-&gt;EAR File.</P>
			
</LI>
			
<LI>
			
<P>Right-click on the Application Client Projects group, select
			Import...-&gt;App Client JAR File.</P>
			
</LI>
			
<LI>
			
<P>Right-click on the Connector Projects group, select
			Import...-&gt;RAR File.</P>
			
</LI>
			
<LI>
			
<P>Right-click on the EJB Projects group, select Import...-&gt;EJB
			JAR File.</P>
			
</LI>
			
<LI>
			
<P>Right-click on the Dynamic Web Projects group, select
			Import...-&gt;WAR File.</P>
			
</LI>
		
</UL>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<H4>WAR Import</H4>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<TABLE cellspacing="10" cellpadding="10">
			
<TR>
				
<TD>
				
<P>
<IMG src="images/notesbuddy3532_21487.jpg"></P>
				
</TD>
			
</TR>
			
<TR>
				
<TD>
				
<P>
<I>Figure 4: </I>The Import Wizard allows you to choose the *.war
				file you would like to import, and choose the project where it
				should be extracted.</P>
				
</TD>
			
</TR>
		
</TABLE>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
			
<LI>
			
<P>Select the "Browse" button to navigate to an existing
			WAR file on the file system.</P>
			
</LI>
			
<LI>
			
<P>Ensure a J2EE Runtime Library is selected as the target server.</P>
			
</LI>
			
<LI>
			
<P>Click to add tht module to an EAR project.</P>
			
</LI>
			
<LI>
			
<P>Hit finish.</P>
			
</LI>
		
</OL>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<H4>Import using drag and drop</H4>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>Alternatively, the J2EE Project Explorer also supports import via a
		drag and drop from the file system onto the appropriate J2EE project
		group.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<TABLE cellspacing="10" cellpadding="10">
			
<TR>
				
<TD>
				
<P>
<IMG src="images/notesbuddy3532_31321.jpg"></P>
				
</TD>
			
</TR>
			
<TR>
				
<TD>
				
<P>
<I>Figure 5: </I>A selection dialog allows you to choose the
				action to perform on the Drag and Drop if there are multiple
				options. Hit OK.</P>
				
</TD>
			
</TR>
		
</TABLE>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<UL>
			
<LI>
			
<P>Drag and drop an EAR file onto the Enterprise Applications group.</P>
			
</LI>
			
<LI>
			
<P>Drag and drop an application client JAR file onto the Application
			Client Projects group.</P>
			
</LI>
			
<LI>
			
<P>Drag and drop a RAR file onto the Connector Projects group.</P>
			
</LI>
			
<LI>
			
<P>Drag and drop an EJB JAR file onto the EJB Projects group.</P>
			
</LI>
			
<LI>
			
<P>Drag and drop a WAR file onto the Dynamic Web Projects group.</P>
			
</LI>
		
</UL>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>Return to <A HREF="px_overview.html">overview</A>.</p>
</td>
</tr>
</tbody>
</table>
</body>
</html>
