<?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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- /*******************************************************************************
 * 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>Validating code in enterprise applications</title>
</head>
<body id="tjval"><a name="tjval"><!-- --></a>
<h1 class="topictitle1">Validating code in enterprise applications</h1>
<div><div class="section"> <p>The workbench provides manual code validation, code validation
during a build, and automatic code validation of project resources. Manual
code validation is explicitly invoked by the user, and it immediately validates
the resources contained in a selected project. Build validation occurs when
you manually invoke a build. Automatic code validation occurs whenever an
automatic incremental build occurs as a result of a resource change, such
as when a project is created, a .java file is edited, or a model file (such
as ejb-jar.xml, .mapxmi, or .rdbxmi) is changed or saved. By
default, manual code validation and automatic code validation are enabled
in the preferences.</p>
<p>On the Properties page for each enterprise application
module project, you will find a list of validators that you can run against
a selected project. The list of validators is different for each type of project. </p>
<p>For
more information about validation, see the following topics:</p>
</div>
</div>
<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="../topics/rvalerr.html">Common validation errors and solutions</a></strong><br />
You may encounter these common error messages when you validate
your projects.</li>
<li class="ulchildlink"><strong><a href="../topics/rvalidators.html">J2EE Validators</a></strong><br />
This table lists the validators that are available for the different
project types and gives a brief description of each validator.</li>
<li class="ulchildlink"><strong><a href="../topics/tjvalauto.html">Enabling automatic code validation</a></strong><br />
If you want validation to occur automatically during an automatic
incremental build that occurs as a result of a resource change, you can enable
automatic code validation.</li>
<li class="ulchildlink"><strong><a href="../topics/tjvalbuild.html">Enabling build validation</a></strong><br />
You can enable validation to occur during a build of a project.</li>
<li class="ulchildlink"><strong><a href="../topics/tjvaldisable.html">Disabling a validator</a></strong><br />
You can disable one or more validators for a project.</li>
<li class="ulchildlink"><strong><a href="../topics/tjvalglobalpref.html">Overriding global validation preferences</a></strong><br />
For a given project, you can override the global validation preferences.</li>
<li class="ulchildlink"><strong><a href="../topics/tjvalmanual.html">Manually validating code</a></strong><br />
When you run a manual validation, all resources in the selected
project are validated with the validators that are selected on the Validation
page of the project Properties dialog.</li>
<li class="ulchildlink"><strong><a href="../topics/tjvalselect.html">Selecting code validators</a></strong><br />
You can select specific validators to run for a project during
manual and automatic code validation.</li>
</ul>

<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/ph-j2eeapp.html" title="These topics deal with the Java 2 Platform, Enterprise Edition (J2EE).">J2EE Applications</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="../topics/rvalerr.html" title="You may encounter these common error messages when you validate your projects.">Common validation errors and solutions</a></div>
<div><a href="../topics/rvalidators.html" title="This table lists the validators that are available for the different project types and gives a brief description of each validator.">J2EE Validators</a></div>
</div>
</div></body>
</html>