<?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.wtp.doc.user/common.css" />

<title>Limitations of J2EE development tools</title>
</head>
<body id="rjlimitcurrent"><a name="rjlimitcurrent"><!-- --></a>
<h1 class="topictitle1">Limitations of J2EE development tools</h1>
<div><p>This topic outlines current known limitations and restrictions
for J2EE tooling.</p>
<div class="section"><h4 class="sectiontitle">Alternate deployment descriptor (alt-dd) elements in enterprise
applications</h4>The use of alt-dd elements is currently not supported
in the workbench. The workaround is to edit the deployment descriptors of
the contained modules.</div>
<div class="section"><h4 class="sectiontitle">Spaces not supported in JAR URIs within an enterprise application</h4>Spaces
are not supported in the URI for modules or utility JAR files in an enterprise
application. The "Class-Path:" attribute of a MANIFEST.MF file in a JAR file
or module is a space-delimited list of relative paths within an enterprise
application. A JAR file would not be able to reference another JAR file in
the EAR if the URI of the referenced JAR file contained spaces.</div>
<div class="section"><h4 class="sectiontitle">Enterprise application project names should not contain DBCS
characters</h4><p id="rjlimitcurrent__limitation_ear_dbcs"><a name="rjlimitcurrent__limitation_ear_dbcs"><!-- --></a>When you create an enterprise
application project, it is recommended that you do not give it a name that
contains double-byte character set (DBCS) characters.</p>
</div>
<div class="section"><h4 class="sectiontitle">Java™ build path updates when removing the dependency
on a Utility JAR file</h4>When removing the dependency on a Utility JAR,
the corresponding Java project will be removed from the Java build
path only if the dependent JAR is still referenced by the EAR project. For
example, suppose you create a J2EE 1.3 Web project and EAR along with the
JUnit Java Example
project. Next, add the JUnit project as a Utility JAR in the EAR, then add
JUnit as a Java JAR Dependency of the Web project. If you then
wanted to remove the dependency between JUnit and the Web project, remove
the Java JAR
Dependency from the Web project first, then remove the Utility JAR from the
EAR. Follow this order to ensure that this works correctly.</div>
<div class="section"><h4 class="sectiontitle">Java JAR Dependencies page fails to update Java build
path</h4>The Java JAR Dependencies page is not synchronized with
the Java build
path page in the project properties dialog. Therefore, a change applied in
one may not be reflected in the other within the same dialog session. There
are also some instances where flipping back and forth between the pages will
cause the update from one to cancel out the update from another when the <span class="uicontrol">OK</span> button
is clicked or if the <span class="uicontrol">Apply</span> button is clicked prior
to the <span class="uicontrol">OK</span> button. Typically this will appear as if
a JAR dependency was added, but the project did not get added to the Java build
path. The workaround is to reopen the properties dialogs, switch to the JAR
dependency page, clear and re-select the dependent JAR files, then click <span class="uicontrol">OK</span>.</div>
<div class="section"><h4 class="sectiontitle">'Invalid project description' error when using a non-default
project location for a new J2EE project</h4>When you create a new J2EE
project (including Java, enterprise application, Dynamic Web,
EJB, application client, and connector projects), you cannot use a project
location that is already used by another project in the workbench. If you
choose a project location that is used by another project, the wizard displays
an "Invalid project description" error dialog or message. If after you receive
this message you then select a valid project location by clicking the Browse
button, the project creation will still not finish. The workaround is to click
Cancel and reopen the project creation wizard.</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/ph-ref.html" title="The following reference material on J2EE is available:">Reference</a></div>
</div>
</div></body>
</html>