<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	
	<TITLE>Eclipse JST server component plugins</TITLE>
	<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.3  (Win32)">
	<META NAME="CREATED" CONTENT="20041111;21470709">
	<META NAME="CHANGED" CONTENT="16010101;0">
</HEAD>
<BODY>
<P ><BR><BR>
</P>
<H1 ALIGN=CENTER>Eclipse JST server component plugins</H1>
<H2>JST Server Plugins</H2>
<P><BR>JSR Server consists of the following plugins</P>
<UL>
	<LI><P STYLE="margin-bottom: 0cm">Plugin for j2ee
	runtime support</P>
	<LI><P STYLE="margin-bottom: 0cm">generic server that
	adds the ability to define new servers with a definition file</P>
	<LI><P STYLE="margin-bottom: 0cm">Apache Tomcat server
	tools</P>
</UL>
<HR>
<H2 >Plugin Descriptions</H2>
<H4>org.eclipse.jst.server.core</H4>
<P>This plugin provides the core of the j2ee support.</P>
<H4>org.eclipse.jst.server.ui</H4>
<P>Provides the UI components for the j2ee support.</P>
<H4>org.eclipse.jst.server.generic.core</H4>
<P>The core of the generic server tool. &Yacute;ncludes
the implemetation of server tooling and the mechanisms for server
type definiton files.</P>
<H4>org.eclipse.jst.server.generic.ui</H4>
<P>The UI components for the generic server tooling. 
</P>
<H4>org.eclipse.jst.server.generic.modules</H4>
<P>Provides the j2ee standard module definitions used by
the generic server plugin. This is subject to change when the
flexible project work is completed.</P>
<H4>org.eclipse.jst.server.tomcat.core</H4>
<P>Apache Tomcat server tooling .</P>
<H4>org.eclipse.jst.server.tomcat.ui</H4>
<P>UI components for the Apache Tomcat Server tools.</P>
<HR>
</BODY>
</HTML>