- 1 Eclipse Web Tools Frequently Asked Questions
- 2 General
- 2.1 How is the Eclipse Web Tools Platform licensed?
- 2.2 How do I install WTP?
- 2.3 Which zip file should I download?
- 2.4 How can I tell what is new and noteworthy within a specific release?
- 2.5 How can I find a list of known problems with a release?
- 2.6 Why am I getting a java.lang.OutOfMemoryError: PermGen space?
- 2.7 Who are the contributors to the Eclipse Web Tools Platform Project?
- 2.8 What version of Eclipse does WTP work with?
- 2.9 Are there any WTP tutorials available?
- 2.10 How do I install WTP Source, after I've installed the Eclipse IDE for Java EE Developers?
- 3 Data Tools
- 4 Java EE
- 5 JSP
- 5.1 How do I use my tag libraries in the JSP editor? I don't see any place to set them up.
- 5.2 Why isn't the JSP editor/validator finding my custom tag libraries?
- 5.3 Where can I find out more about the Tomcat support in WTP?
- 5.4 How do I debug JSPs with BEA WebLogic Server 8.x?
- 5.5 How do I debug JSPs with Apache Tomcat 4.x?
- 6 Server/Internet
- 7 Web
- 8 Web Services
- 8.1 Can the WSDL validator be extended to validate extension elements, for example partnerLinks and properties from the WS-BPEL specification?
- 8.2 Why does WTP produce errors for multiple import statements for the same namespace in WSDL 1.1?
- 8.3 What are the list of known problems for Axis2 Web services in WTP 2.0?
- 9 XML
Eclipse Web Tools Frequently Asked Questions
Many of the FAQ's found on this page have been pulled from the WTP newsgroup. Thank you to everyone that took the time to answer these questions.
Looking for FAQ's related to the development of WTP? See the Committer FAQ.
If you have identified a FAQ that is not in this list, please add it to the list. You will need a bugzilla user id in order to edit the page.
How is the Eclipse Web Tools Platform licensed?
The Eclipse Web Tools Platform (WTP) consists of software produced by the Eclipse Project combined with third party software from other open source projects. The software produced by the Eclipse Project is made available under the Eclipse Public License. Third party components are made available under their own licenses. The detailed licensing information can be found in the Eclipse.org Software User Agreement (notice.html) file in the root directory of the SDK download. Licensing for third party components is described in about.html files in the respective subdirectories.
How do I install WTP?
If you don't already have Eclipse, the simplest way is to download the latest Eclipse IDE for Enterprise Java and Web Developers from download.eclipse.org.
If you do already have Eclipse up and running, Kepler and later versions can install WTP through the Marketplace (when the Client is installed).
Otherwise, within Eclipse, go to the Help menu, choose Install New Software, and while Working With All Available Sites, choose the features you want from the Web, XML, Java EE and OSGi Enterprise Development category. If unsure, select:
- Eclipse Java EE Developer Tools
- Eclipse Java Web Developer Tools
- Eclipse Web Developer Tools
- Eclipse XML Editors and Tools
For provided server adapters, JST Server Adapters contains the Preview server, and JST Server Adapters Extensions (Apache Tomcat) the server adapter for Apache Tomcat.
Any of their required dependencies will be installed for you. For more complete steps on installing software, consult the Workbench User Guide Task:Updating and Installing Software.
Eclipse and WTP require a 64-bit Java 17 or a newer "LTS" release to be run properly. WTP 3.27 is the current supported release.
WTP releases are incorporated into the simultaneous release sites listed below, with the corresponding version-specific WTP update sites used to provide Sources and WTP Adopter documentation, plus the occasional hotfix.
If the Simultaneous Release Site and a corresponding WTP site are not already listed on the Available Software Sites Preference Page, you can add them manually. Be sure to add both, if more than one is mentioned, and to not mix versions. For reference:
- Update Site for IDE 2022-09 (Eclipse 4.25 and WTP 3.27)
Older releases, no longer supported by eclipse.org:
- Update Site for IDE 2022-06 (Eclipse 4.24 and WTP 3.26)
- Update Site for IDE 2022-03 (Eclipse 4.23 and WTP 3.25)
- Update Site for IDE 2021-12 (Eclipse 4.22 and WTP 3.24)
- Update Site for IDE 2021-09 (Eclipse 4.21 and WTP 3.23)
- Update Site for IDE 2021-06 (Eclipse 4.20 and WTP 3.22)
- Update Site for IDE 2021-03 (Eclipse 4.19 and WTP 3.21)
- Update Site for IDE 2020-12 (Eclipse 4.18 and WTP 3.20)
- Update Site for IDE 2020-09 (Eclipse 4.17 and WTP 3.19)
- Update Site for IDE 2020-06 (Eclipse 4.16 and WTP 3.18)
- Update Site for IDE 2020-03 (Eclipse 4.15 and WTP 3.17)
- Update Site for IDE 2019-12 (Eclipse 4.14 and WTP 3.16)
- Update Site for IDE 2019-09 (Eclipse 4.13 and WTP 3.15)
- Update Site for IDE 2019-06 (Eclipse 4.12 and WTP 3.14)
- Update Site for IDE 2019-03 (Eclipse 4.11 and WTP 3.13)
- Update Site for IDE 2018-12 (Eclipse 4.10 and WTP 3.12)
- Update Site for SimRel 2018-09 (Eclipse 4.9 and WTP 3.11)
- Update Sites for Photon (Eclipse 4.8) and WTP 3.10, released in June 2018
- Update Sites for Oxygen (Eclipse 4.7) (contains WTP 3.9.3a) and WTP 3.9 (contains WTP 3.9.4), released in 2017
- Update Sites for Neon (Eclipse 4.6) and WTP 3.8, released in 2016
- Update Sites for Mars (Eclipse 4.5) and WTP 3.7, released in 2015
- Update Sites for Luna (Eclipse 4.4) and WTP 3.6, released in 2014
- Update Sites for Kepler (Eclipse 4.3) and WTP 3.5, released in 2013
- Update Sites for Juno (Eclipse 3.8/4.2) and WTP 3.4, released in 2012
- Update Sites for Indigo (Eclipse 3.7/4.1) and WTP 3.3, released in 2011
- Update Sites for Helios (Eclipse 3.6) and [https://download.eclipse.org/webtools/repository/helios/ WTP 3.2, released in 2010
- Update Sites for Galileo (Eclipse 3.5) and [https://download.eclipse.org/webtools/repository/galileo/ WTP 3.1, released in 2009
Keep in mind that the first thing you'll often be asked when reporting a problem is whether it happens in the current release.
Manual installation (only recommended for adopters and WTP contributors) - this approach is no longer supported as we build P2 repositories rather than plainly zipped artifacts:
- The Web Tools Platform has several required projects that must all be installed for proper operation. Each WTP build is built and tested with specific versions of these prerequisites (see the Requirements and Handy Extras section on each specific build's download page) and it is recommended that only those versions be installed and active when used with a particular WTP build. The WTP download page for each build details the complete list of requirements and provides links to download the corresponding versions. Downloading and unpacking each should place its contents into a folder named eclipse.
- Unpack the Eclipse SDK into a clean directory
- Unpack the Graphical Editor Framework (GEF) into the same location
- Unpack the Eclipse Modeling Framework (EMF) / XML Schema Infoset Model (XSD) into the same location
- Unpack the Data Tools Platform (DTP) into the same location
- Unpack EMF Transaction into the same location
- Unpack EMF Validation into the same location
- Unpack Graphiti into the same location
- Unpack the Web Tools Platform build into the same location
WTP should now be installed. Launch Eclipse with the -clean option one time to ensure all plug-ins are detected properly and that P2 records a new configuration.
A screencast that includes setting up Xdoclet and a JBoss 3.x test server is also available.
Which zip file should I download?
The WTP SDK (wtp-sdk-*.zip) includes everything produced by the WTP project, including source and both user and programmer documentation. If you aren't sure which download you need, you should probably get the WTP-SDK.
The software development kit (SDK) downloads are for developers wishing to build solutions on top of the Web Tools Platform, while the non-SDK downloads are suitable for everyone else's use. The project also provides various other builds for easier use by other projects and adopters.
How can I tell what is new and noteworthy within a specific release?
All of the New and Noteworthy documents can be found on the main web site. A new set of documents is usually prepared for each Milestone and collected together for each Release.
How can I find a list of known problems with a release?
While there may be specific Release Notes added for the latest release, what is in Bugzilla is generally regarded as complete. Remember: unless a bug report is filed for a problem, no one will have a chance to fix it.
Why am I getting a java.lang.OutOfMemoryError: PermGen space?
The default maximum Permanent Generation space set by your JRE may be too small. This is unrelated to the maximum allowed Heap space. You can increase the maximum PermGen size by launching Eclipse with the VM argument:
Note that this issue only appears to happen using an older Sun/Oracle Java Runtime. Others runtime environments do not seem to have this issue, or may themselves use different methods to control their maximum allowed PermGen size.
Who are the contributors to the Eclipse Web Tools Platform Project?
We have a whole page listing the hard working contributors to this project. See the Committer FAQ if you are a committer.
What version of Eclipse does WTP work with?
- WTP 3.28 is intended for Eclipse 4.26 (2022-12).
- WTP 3.27 was tested on Eclipse 4.25 (2022-09).
- WTP 3.26 was tested on Eclipse 4.24 (2022-06).
- WTP 3.25 was tested on Eclipse 4.23 (2022-03).
- WTP 3.24 was tested on Eclipse 4.22 (2021-12).
- WTP 3.23 was intended for Eclipse 4.21 (2021-09).
- WTP 3.22 was intended for Eclipse 4.20 (2021-06).
- WTP 3.21 was intended for Eclipse 4.19 (2021-03).
- WTP 3.20 was intended for Eclipse 4.18 (2020-12).
- WTP 3.19 was intended for Eclipse 4.17 (2020-09).
- WTP 3.18 was intended for Eclipse 4.16 (2020-06).
- WTP 3.17 was intended for Eclipse 4.15 (2020-03).
- WTP 3.16 was intended for Eclipse 4.14 (2019-12).
- WTP 3.15 was intended for Eclipse 4.13 (2019-09).
- WTP 3.14 runs on Eclipse 4.12 (2019-06).
- WTP 3.13 runs on Eclipse 4.11 (2019-03).
- WTP 3.12 runs on Eclipse 4.10 (2018-12).
- WTP 3.11 runs on Eclipse 4.9 (2018-09).
- WTP 3.10 runs on Eclipse 4.8 (a.k.a. Photon, 2018).
- WTP 3.9 runs on Eclipse 4.7 (a.k.a. Oxygen, 2017).
- WTP 3.8 runs on Eclipse 4.6 (a.k.a. Neon, 2016).
- WTP 3.7 runs on Eclipse 4.5 (a.k.a. Mars, 2015).
- WTP 3.6 runs on Eclipse 4.4 (a.k.a. Luna, 2014).
- WTP 3.5 runs on Eclipse 4.3 (a.k.a. Kepler, 2013).
- WTP 3.4 runs on Eclipse 3.8/4.2 (a.k.a. Juno if it's 4.2, 2012).
- WTP 3.3 runs on Eclipse 3.7 (a.k.a. Indigo, 2011)
- WTP 3.2 runs on Eclipse 3.6 (a.k.a. Helios, 2010).
- WTP 3.1 runs on Eclipse 3.5 (a.k.a. Galileo, 2009).
- WTP 3.0.x runs on Eclipse 3.4 (a.k.a. Ganymede, 2008).
- WTP 2.0.x runs on Eclipse 3.3 (a.k.a. Europa, 2007).
- WTP 1.5.x runs on Eclipse 3.2 (a.k.a. Callisto, 2006).
- WTP 1.0.x runs on Eclipse 3.1.x. (2005)
Are there any WTP tutorials available?
Yes! See the WTP Community Resources page.
How do I install WTP Source, after I've installed the Eclipse IDE for Java EE Developers?
Generally, you'll find the Source Features in the release-specific repository listed in the installation instructions, WTP_FAQ#How_do_I_install_WTP.3F. For the Ganymede release, there are instructions provided at this Getting Source link. Check the Helios-specific repository for the sources in that version.
Where can I find the WTP Data Tools?
WTP adopted the Data Tools Platform project as of WTP 2.0.
Where can I find the New J2EE Web Module wizard?
J2EE Web Module has been renamed Dynamic Web Project.
Does the WTP include a visual JSP editor?
Yes! Check the Open With... context menu on your web pages for the Web Page Editor.
How do I install XDoclet in WTP?
To install XDoclet:
- Download XDoclet from http://sourceforge.net/project/showfiles.php?group_id=31602.
- Unzip XDoclet to a directory on your machine such as C:\XDoclet
- Specify the directory in which XDoclet is located in Window->Preferences->J2EE Annotations->XDoclet.
What types of EJBs does WTP support?
WTP supports entity, session and messages driven beans. Support for the Java Persistence API (JPA) is available from the Eclipse Dali Project.
How do I include Java classpath entries in a Java EE project's published/exported module structure?
Publish/export support for classpath entries was introduced in WTP 2.0 and is explained in detail here: ClasspathEntriesPublishExportSupport. WTP 3.2 and newer make use of the project's Deployment Assembly properties page.
How do I use my tag libraries in the JSP editor? I don't see any place to set them up.
Place them in the WEB-INF/lib folder of your project (put tag files in WEB-INF/tags), or on the project's Java Build Path through the Deployment Assembly properties page, and refer to them as you would on an actual server. While the Java Build Path itself is enough for the editor, it is the Deployment Assembly properties page that determines what is usable when you Run on Server. Proper taglib directives should then enable custom tags within content assist, validation, and parsing (for custom tags with tagdependent body content), displayed documentation, and icons in the Outline view and content assist proposals.
Why isn't the JSP editor/validator finding my custom tag libraries?
If your project's Web Module facet version is set to 2.2 or lower, you will only be able to refer to libraries by their filename or mapped URIs in your web.xml file. For Dynamic Web Projects, the tag libraries must be either on the Java Build Path or under the WebContent folder(s). For projects lacking the Dynamic Web Module Facet where the the Module Core Nature has been configured, its information will be used. Otherwise, whichever parent folder of the JSP file that is also the parent of WEB-INF/ is treated as the root of the web application. In most situations, placing the tag library's jar onto the Java Build Path is the easiest way to make it usable.
For "well known" tag libraries that may be incorporated within a server runtime and not otherwise found, the XML Catalog may also be used to register URIs for a specified TLD file on disk.
Where can I find out more about the Tomcat support in WTP?
For more information about the support for Tomcat 4.0 through Tomcat 7 in WTP, see this separate WTP_Tomcat_FAQ.
How do I debug JSPs with BEA WebLogic Server 8.x?
BEA WebLogic Server 8.x and earlier do not support JSR-45; WebLogic Server 9.x and later do support JSR-45 so you can debug JSP files with them using WTP (note: there are outstanding issues with JSP source lookup for the WLS Generic adapter in WTP 0.7 - see bug 104401).
How do I debug JSPs with Apache Tomcat 4.x?
Apache Tomcat 4.x and earlier do not support JSR-45; Tomcat 5.x and later do support JSR-45 so you can debug JSP files with them using WTP.
Where are cached files located?
The cached files are located in WORKSPACE_DIR/.metadata/.plugins/org.eclipse.wst.internet.cache. The entries are all named with numbers but you can see the mappings in the cache.xml file located in the same directory.
You're likely editing an XHTML file which requires that the file be well formed XML.
Can the WSDL validator be extended to validate extension elements, for example partnerLinks and properties from the WS-BPEL specification?
Yes! The WSDL validator has extension points (which should all be considered internal, non-API at this point) which allow you to plug your own extension validator for a given namespace into the WSDL validator.
In this case, you can create a validator for the WS-BPEL namespace and plug-it into the WSDL validator. Your validator will get called any time an element from the WS-BPEL namespace is encountered.
The WSDL HTTP validator and SOAP validator both use this extension mechanism. To contribute your validator to the WSDL validator you need to specify an entry in your plugin manifest as follows: (I'm assuming http://schemas.xmlsoap.org/ws/2004/03/business-process/ is the BPEL namespace.)
<extension point="org.eclipse.wst.wsdl.validation.wsdl11validator"> <wsdl11validator class="org.example.WSBPELValidator" namespace="http://schemas.xmlsoap.org/ws/2004/03/business-process/" resourcebundle="wsbpelvalidator"/> </extension>
Why does WTP produce errors for multiple import statements for the same namespace in WSDL 1.1?
The WSDL 1.1 schema restricts wsdl:import statements by specifying that they must contain unique namespaces. This means one import per namespace per WSDL document.
What are the list of known problems for Axis2 Web services in WTP 2.0?
Here are the list of major known bugs for Axis2 Web services in WTP 2.0:
- 184301 - Ant task not supported for Axis2 Web service. The workaround is to use the Web services wizard instead.
- 187840 - InvocationTargetException in Axis2 scenario. The workaround is to retry the scenario or to exit and re-enter the workbench.
- 186429 - Validation of Axis2 JSP is slow. The workaround is to turn off JSP validation in the Preferences.
- 192522 - FileNotFoundException copying to build/classes directory. The workaround is to set Java output directory to build/classes or apply the patch attached to the bug.
- 194786 - Problem running Axis2 servlet on server with different servlet level. The workaround is to delete servletapi-2.3.jar from the WebContent/WEB-INF/lib directory and restart the WAR or EAR.
- 192280 - RPC/encoded not supported in Axis2 client and skeleton scenario.
- 193593 - Custom namespace to package mapping not working.
- 193996 - Unable to select ports and services for client or skeleton.
- 184627 - Error deleting Axis2 project. The workaround is to stop the server first and then remove the project from the server before deleting the project.
How do I use my own filename extensions in the XML editor? It only works correctly if a file ends with .xml.
Note: this also applies to the JSP and HTML editors and others in WTP, plus PDT's PHP Editor
Open the Content Types preference page and expand the Content types tree until you find the existing content type you want to treat the new filename extension as. Adding the new filename extension to the list of File associations "teaches" Eclipse about that filename extension so that features such as Validation and Task Tag detection also support those files correctly.
How do I programmatically add entries to the XML catalog?
The XML catalog extension point schema contains specific definitions of how to use the extension point. You can view the schema here.
For easier viewing, checkout the org.eclipse.wst.xml.core plugin from the repository and view this file with the Eclipse extension schema editor.
Why does the XML catalog preference dialog only show URI Key type entry when no file is selected?
As Public ID and System ID are only applicable to DTD entity resolution in order to see these options in addition to URI for the Key Type choice you must first select a DTD file.
When you select an XSD file you will see Namespace Name and Schema Location for the Key Type selection.