<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../wtp.xsl"?>
<html>
<head>
  <meta name="root" content="../../../" />
  <title>WTP Tutorials - Getting Started With The WTP Project</title>
</head>

<body>
<h1>WTP Tutorials - Getting Started With The WTP Project</h1>
<p>
<b>By Lawrence Mandel, IBM</b><BR/>
updated July 1, 2005<BR/>
<BR/>
</p>
<P>This tutorial provides step-by-step instructions to installing the Eclipse Web Tools Platform.
<BR/>

</P>
<h2>Installing the WTP and its requirements</h2>
<P>The WTP project provides four different types of builds which can be installed: Release, Stable, Integration, and Nightly. Generally you will want the latest Release or Stable build--these builds are most suitable for end users as they are the most reliable. Integration (also known as weekly) and Nightly builds are not necessarily unreliable, but they may not be fully functional and are meant for people developing the WTP or those who want the latest and greatest features and are willing to accept some headaches to get them.<br/><br/>
   Remember, if you are installing a build other than a Stable build you may find severe problems. The best thing to do when you encounter a problem is to ask about it on the WTP newsgroup (see below), and if it is unknown, open a bug report.</P>
<OL>
	<LI>Start by going to the <a href="http://download.eclipse.org/webtools/downloads/">WTP project download page</a>. Select the build you want to install.  Note: there are currently no Release builds available. The first release of the WTP project is scheduled for late July 2005.</LI>
	<LI>The build download page that opens contains a list or requirements for the build you have selected. Under the requirements section you will see the version of the Eclipse base that is required as well as other Eclipse projects (with their versions) that are required. Download and unzip the Eclipse build into a directory {eclipse-home}.  Unzipping new builds over older builds is not supported.  Unzip the other required projects into {eclipse-home} as well.  If the requirements are not installed, many features of WTP will mysteriously not function or in some cases not even appear.</LI>
	<LI>Now that all the requirements are installed you are ready to install the Eclipse Web Tools. In the Web Tools Platform; Runtime section there are two downloads. Select the first one. (The second one also includes the WTP source and is useful if you are developing the WTP or developing on top of the WTP.) Unzip the download to the {eclipse-home} directory.</LI>
    <LI>Launch Eclipse with the -clean argument to update the installation's configuration.<br/><br/>
        eclipse -clean<br/><br/>
        A complete list of the Eclipse executable's arguments can be found <a href="http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/running_eclipse.htm">here</a>.
    </LI>

</OL>
<br/>
<h2>Getting into the Eclipse Web Tools</h2>
<P>The WTP project contains many different features. Use the following resources to start getting into the Eclipse Web Tools.</P>
<OL>
	<LI>The <a href="../../main.html">WTP project home page</a> contains links to many resources you may find useful.<BR/><BR/>
	</LI>
	<LI>The <a href="../../community/community.html">WTP community page</a> contains links to upcoming WTP events, tutorials, and articles.<br/><br/></LI>
	<LI>The <a href="../../community/community.html#help">WTP newsgroup</a> is a great place to post questions and get answers from the WTP developers and user community.<BR/><BR/>
	</LI>
</OL>

</body>
</html>