<?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>Publishing your application</title>
</head>
<body onresize="location.reload();" id="twpub_wst"><a name="twpub_wst"><!-- --></a>
<h1 class="topictitle1">Publishing your application</h1>
<div><div><em>Publishing</em> involves copying
files (projects, resource files, and server configurations) to the correct
location for the server to find and use them. In the test environments, these
files may already be in the correct location. In some cases, temporary copies
of the server configurations may be created.</div><div class="section"><p id="twpub_wst__twpub_p1"><a name="twpub_wst__twpub_p1"><!-- --></a>You can either publish your application automatically
or manually. If the  <span class="uicontrol">Automatically publish when starting servers</span> check
box on the Server preferences page (<span class="menucascade"><span class="uicontrol">Window</span> &gt; <span class="uicontrol">Preferences</span> &gt; <span class="uicontrol">Server</span></span>)
is selected, the server tools check to see if your project and files on the
server are synchronized. If they are not, the project and the files are automatically
updated when the server is either started or restarted.</p>
<p id="twpub_wst__twpub_p2"><a name="twpub_wst__twpub_p2"><!-- --></a>To
publish your application manually you can complete one of the following in
the Servers view:</p>
</div>
<ul><li><span><span id="twpub_wst__twpub_steps_ph1"><a name="twpub_wst__twpub_steps_ph1"><!-- --></a>Select the server and then click the  <span class="uicontrol">Publish
to the server</span></span> <img src="../images/launch_publish.gif" alt="Picture of Publish toolbar icon" onload="javascript:resizeimage(this);" name="../images/launch_publish.gif" /> <span id="twpub_wst__twpub_steps_ph2"><a name="twpub_wst__twpub_steps_ph2"><!-- --></a>icon
located on the toolbar.</span></span></li>
<li id="twpub_wst__twpub_steps_step2"><a name="twpub_wst__twpub_steps_step2"><!-- --></a><span>Right-click the server and then select  <span class="uicontrol">Publish</span>.</span></li>
</ul>
<div class="section"><p id="twpub_wst__twpub_p3"><a name="twpub_wst__twpub_p3"><!-- --></a>All the projects defined in the server configuration
that are associated with the selected server are published. The resources
in these projects are transferred to the location that is defined by the server.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/tpublish.html" title="">Publishing applications to a server</a></div>
</div>
</div>
</body>
</html>