<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>NetBeans IDE 5.5.1 Release Notes</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <meta name="description" content="NetBeans IDE 5.5.1  Release Notes: 
        Introduction, Compatibility, Known Issues, Documentation">
        <link rel="stylesheet" type="text/css" href="../../../../netbeans.css">
    </head>
    <body>

        <a name="top"></a>
        <h1>NetBeans IDE 5.5.1 Release Notes </h1>

        <blockquote> 
            <p>Welcome to NetBeans IDE 5.5.1. NetBeans
            IDE is a modular, standards-based integrated development environment (IDE),
            written in the Java programming language.
            The NetBeans project consists of: </p>
            <ul>
                <li>An <a href="../../../../features/ide/index.html">open source 
                IDE</a> written in the Java programming language.</li>
                <li>An <a href="../../../../features/platform/index.html">application 
                platform</a>, which can be used as a generic framework to build any kind 
                of application.</li>
                <li>Add-on packs, such as <a href="../../../../features/javame/index.html">Mobility</a>  
                and <a href="../../../../features/java/profiler.html">Profiler</a> 
                that enable you to extend NetBeans IDE's functionality.
            </ul>
            
            <br>
            <div class="greybox">
                <p>For release information about NetBeans Add-on packs, see: </p>
                <ul>
                    <li><a href="../../../../community/releases/55/1/relnotes-mobility.html">Mobility Pack for CLDC Release Notes</a></li>
                    <li><a href="../../../../community/releases/55/1/relnotes-mobilitycdc.html">Mobility Pack for CDC Release Notes</a></li>
                    <li><a href="http://profiler.netbeans.org/relnotes.html">Profiler Release Notes</a></li>
                    <li><a href="../../../../community/releases/55/1/vwp-release-notes.html">Visual Web Pack Release Notes</a></li>
                    <!--<li><a href="../../../../community/releases/55/1/ep-relnotes.html">Enterprise Pack Release Notes</a></li>-->
                    <li><a href="../../../../community/releases/55/1/cnd-release-notes.html">C/C++ Pack Release Notes</a></li>
                    <li><a href="../../../../community/releases/55/1/uml-relnotes.html">UML Modeling Module Release Notes</a></li>
                </ul>
                <p><b>Note: </b>If you want to use SOA and BPEL functionality in Enterprise Pack, 
                please use NetBeans IDE 5.5 with NetBeans Enterprise Pack 5.5. We do 
                not expect to publish any further updates to NetBeans Enterprise Pack 5.x. 
                All our development efforts are now focused on NetBeans 6.0 with SOA. </p>

            </div>               
            
        <br>
        <h2 style="color:#0E1B55">Contents</h2>
        <ul>
            <li><a href="#supported_technologies">Supported Technologies</a></li>
            <li><a href="#system_requirements">System Requirements</a>
            <li><a href="#compatibility">Compatibility</a></li>
            <li><a href="#known_issues">Known Issues </a></li>
            <li><a href="#documentation">Documentation</a></li>
            <li><a href="#more_info">More Information</a></li>
        </ul>
                <p><b>Note: </b>If you are looking for information about installing 
                the NetBeans IDE 5.5.1, see the <a href="install.html">NetBeans 
                IDE 5.5.1 Installation Instructions</a>.</p>
                
                <p><b>Note: </b>If you want to use SOA and BPEL functionality in Enterprise Pack, 
                please use NetBeans IDE 5.5 with NetBeans Enterprise Pack 5.5. We do 
                not expect to publish any further updates to NetBeans Enterprise Pack 5.x. 
                All our development efforts are now focused on NetBeans 6.0 with SOA. </p>
                
        <!--<br>
            <p>For information about new development features
            in NetBeans IDE, see <a href="../../../../community/releases/55/index.html">
            What's New in NetBeans IDE 5.5.</a></p>-->
                       
        </blockquote>
        <br>
        
        <a name="supported_technologies"></a>
        <h2>Supported Technologies</h2>
        <blockquote>
        <br>
        <p><b>NetBeans IDE 5.5.1 supports the following technologies:</b></p>
            <ul>
                <li>Enterprise JavaBeans (EJB) 3.0</li>
                <li>JAX-WS 2.0</li>
                <li>Java Persistence (JSR-220)</li>
                <li>JavaServer Faces 1.2 (JSR-127)</li>
                <li>Java Servlet 2.5</li>
                <li>JavaServer Pages (JSP) 2.1</li>
                <li>Struts 1.2.9</li>
                <li>Java API for XML-based Remote Procedure Calls (JAX-RPC) 1.6</li>
                <li>Java APIs for XML Registries (JAXR) 1.0</li>
                <li>Java API for XML Processing (JAXP) 1.2</li>
                <li>JavaServer Pages Standard Tag Library 1.1</li>
            </ul>
            <br>
            <div class="greybox" style="border:1">
                <p><b>Note:</b> using versions of JBoss, WebLogic, or Struts
                other than those explicitly listed could result in unpredictable IDE behavior 
                because they are External interfaces and not controlled by the project team. </p>
            </div>  
            
        <p><b>NetBeans IDE 5.5.1 has been tested with the following application servers:</b></p>
            <ul>
                <li>Sun Java System Application Server 9.1 Beta (GlassFish V2)</li>
                <!--<li>Sun Java System Application Server PE 8.1 update 2</li>-->
                <li>Sun Java System Application Server PE 8.2</li>
                <li>Tomcat 5.5.17</li>
                <li>JBoss 4.0.4</li>
                <li>WebLogic 9.1</li>
            </ul>

            <br>
            <div class="greybox">
                <p>If you are using the GlassFish application server, note that it is recommended that 
                you run GlassFish V2 in order to work with NetBeans IDE 5.5.1.</p>
            </div>            
            
        </blockquote>
        <p align="center"><a href="#top">top</a></p><br>

        <a name="system_requirements"></a>
        <h2>System Requirements</h2>
        <blockquote> 
            <!--<a name="req_os"></a>-->
            <h5 style="border-bottom:0">Supported Operating Systems</h5>
            <p>NetBeans IDE runs on operating systems that support the Java 
            VM. Below is a list of platforms that NetBeans IDE has been tested on. 
            <ul>
                <li>Microsoft Windows Vista</li>
                <li>Microsoft Windows XP Professional SP2</li>
                <li>Solaris operating system (SPARC and x64 Platform Editions)
                version 10</li>
                <li>Mac OS X 10.4.5 PPC</li>
                <li>Ubuntu 6.x </li>
                <li>Red Hat EL 4</li>
                <!--<li>Red Hat Fedora Core 3 (except when running in the zh_CN locale and possibly other Asian locales) </li>-->
            </ul>
            <p>NetBeans IDE is also known to run on the following platforms: 
            <ul><li>Java Desktop System 2</li>
                <li>Microsoft Windows 2000 Professional SP4 </li>
                <li>Mac OS X 10.4.5 Intel</li>
                <li>Various other Linux distributions, such as Red Hat Enterprise Linux </li>
                <li>Open VMS 7.2-1 or later</li>
                <!--<li>Other UNIX<sup>&reg;</sup> platforms, such as HP-UX 
                    <p><b>Note:</b> the Sun Java System Application Server may not run on certain
                    platforms. 
                </li>-->
            </ul>         
            
            <a name="min_hw"></a>
            <h5 style="border-bottom:0">Minimum Hardware Configurations</h5>
            <br>
            <div class="greybox">
                <p><b>Note:</b> The IDE's minimum screen resolution is 1024x768 pixels.</p>
            </div>
                <ul>
                    <li><b>Microsoft Windows operating systems</b>:
                        <ul>
                            <li><b>Processor: </b>500 MHz Intel Pentium III workstation or equivalent</li>
                            <li><b>Memory: </b>512 MB</li>
                            <li><b>Disk space: </b>850 MB of free disk space </li>
                        </ul><br>
                    </li>
                    
                    <li><b>Linux operating system</b>:
                        <ul>
                            <li><b>Processor: </b>500 MHz Intel Pentium III workstation or equivalent</li>
                            <li><b>Memory: </b>512 MB</li>
                            <li><b>Disk space: </b>450 MB of free disk space</li>
                        </ul><br>
                    </li>
                    
                    <li><b>Solaris OS (SPARC)</b>:
                        <ul>
                            <li><b>Processor: </b> UltraSPARC II 450 MHz</li>
                            <li><b>Memory: </b>512 MB</li>
                            <li><b>Disk space: </b>450 MB of free disk space</li>
                        </ul><br>
                    </li>

                    <li><b>Solaris OS (x86/x64 Platform Edition)</b>:
                        <ul>
                            <li><b>Processor: </b>AMD Opteron 100 Series 1.8 GHz</li>
                            <li><b>Memory: </b>512 MB</li>
                            <li><b>Disk space: </b>450 MB of free disk space</li>
                        </ul><br>

                    </li>
                    <li><b>Macintosh OS X operating system</b>:
                        <ul>
                            <li><b>Processor: </b>PowerPC G4</li>
                            <li><b>Memory: </b>512 MB</li>
                            <li><b>Disk space: </b>450 MB of free disk space </li>
                        </ul>
                    </li>
                </ul>
                
                <a name="req_hw"></a>
                <h5 style="border-bottom: 0pt none;">Recommended Hardware Configurations</h5>
                <ul>
                    <li><b>Microsoft Windows operating systems</b>:
                        <ul>

                            <li><b>Processor: </b>1.4 GHz Intel Pentium III workstation or equivalent</li>
                            <li><b>Memory: </b>1 GB</li>
                            <li><b>Disk space: </b>1 GB of free disk space </li>
                        </ul>
                        <br>
                    </li>

                    <li><b>Linux operating system</b>:
                        <ul>
                            <li><b>Processor: </b>1.4 GHz Intel Pentium III or equivalent</li>
                            <li><b>Memory: </b>1 GB</li>
                            <li><b>Disk space: </b>850 MB of free disk space</li>
                        </ul>

                        <br>
                    </li>
                    <li><b>Solaris OS (SPARC)</b>:

                        <ul>
                            <li><b>Processor: </b>UltraSPARC IIIi 1 GHz</li>
                            <li><b>Memory: </b>1 GB</li>

                            <li><b>Disk space: </b>850 MB of free disk space</li>
                        </ul>
                        <br>
                    </li>
                    <li><b>Solaris OS (x86/x64 platform edition)</b>:

                        <ul>
                            <li><b>Processor: </b>AMD Opteron 100 Series 1.8 GHz</li>

                            <li><b>Memory: </b>1 GB</li>
                            <li><b>Disk space: </b>850 MB of free disk space</li>
                        </ul>
                        <br>
                    </li>
                    <li><b>Macintosh OS X operating system</b>:
                        <ul>

                            <li><b>Processor: </b>PowerPC G5</li>
                            <li><b>Memory: </b>1 gigabyte</li>
                            <li><b>Disk space: </b>850 megabytes of free disk space </li>
                        </ul>
                    </li>
                </ul>


            <a name="req_sw"></a>
            <h5 style="border-bottom:0">Required Software</h5>
            <p>NetBeans IDE runs on the J2SE JDK 5.0 (Java SE Development Kit), 
            which consists of the Java Runtime Environment plus 
            developer tools for compiling, debugging, and running applications written 
            in the Java language. </p>

            <p>You can download the JDK for your platform from one of the sites listed
            below: </p>
            <ul>
                <li><b>Solaris</b>: <a href="http://java.sun.com/j2se/1.5.0/">http://java.sun.com/j2se/1.5.0/</a></li>
                <li><b>Windows</b>: <a href="http://java.sun.com/j2se/1.5.0/">http://java.sun.com/j2se/1.5.0/</a></li>
                <li><b>Linux</b>: <a href="http://java.sun.com/j2se/1.5.0/">http://java.sun.com/j2se/1.5.0/</a></li>
                <li><b>Mac OS X</b>: <a href="http://support.apple.com/downloads/Java_Update_1_4_2_Update_2">http://support.apple.com/downloads/Java_Update_1_4_2_Update_2</a> 
                (Mac OS X 10.3.4 or later). Mac OS upgrades are also available via Apple's 
                Software Update mechanism. 
                <li><b>Open VMS</b>: <a href="http://h18012.www1.hp.com/java/download/index.html">http://h18012.www1.hp.com/java/download/index.html</a></li>
                <li><b>OS/2</b>: http://www.goldencode.com/company/software/j2se/index.html
                    or http://www.innotek.de/products/javaos2/javaos2general_e.html
                    <br>
                    If you get a NullPointerException when starting the IDE on OS/2, try changing 
                    the name of your <code>JAVA_HOME/jre</code> directory to all capital letters. 
                </li>
            <p><b>Note</b>: You can download archived versions of the IDE at 
            <a href="http://java.sun.com/products/archive/index.html">http://java.sun.com/products/archive/index.html</a>.</p>
                <!--More information about using NetBeans IDE on Mac
                OS X is available at <a href="../../../../kb/articles/mac.html">../../../../kb/articles/mac.html</a></li>-->
            </ul>
  
            <!--<a name="req_appserver"></a>
            <h5 style="border-bottom:0">Sun Java System Application Server Requirements</h5>
            <p>In order to use the J2EE development features of NetBeans IDE 5.5 , you must
            have the Sun Java System Application Server Platform Edition 8 installed
            on your computer. You can download it<a href="http://java.sun.com/j2ee/1.4/download.html#sdk"> here</a>.</p>
            <p><b>Note</b>: Because you also need the Sun Java System Application Server 9.0 
            to work with the J2EE features of NetBeans IDE 5.5 , your computer
            must also meet the <a href="http://docs.sun.com/app/docs/doc/819-4707/">application
            server's minimum requirements</a>.</p>
  
            <h5 style="border-bottom:0">Other Application Server Requirements</h5>  
            <p>If you are working with other servers, confirm that your system
            meets their minimum requirements as listed below:
            <ul>
                <li><b>JBoss 4.0.x</b> CPU 400MHz, RAM 512MB , JDK 1.4 (recommended 1.4.2).
                <li><b>WebLogic 9.0</b> See <a href="http://e-docs.bea.com/platform/suppconfigs/configs90/90_over/overview.html">WebLogic Server 9.0 Supported Configurations.</a></li>
                <li><b>WebSphere 6.0</b> RAM 512MB</li>
            </ul>-->
        </blockquote>
        <p align="center"><a href="#top">top</a></p><br>

        <a name="compatibility"></a>
        <h2>Compatibility</h2>
        <blockquote>
        <p>When you first run the IDE, you can import a subset of the settings 
        you used in NetBeans IDE 5.0. If you choose not to import settings from a previous 
        release, the IDE opens using the default settings. </p>
        <blockquote><b>Note:</b><i> The IDE only recognizes previous installations where 
        the user directory resides in the default location. It does not recognize 
        installations where you have specified a user directory using the <code>--userdir</code> 
        switch. If you would like to import settings from an IDE that the installer 
        does not recognize, download an archive version of the IDE instead of the 
        installer.</i></blockquote>
        <p>Though it is possible to import settings from a previous IDE installation
        into NetBeans IDE 5.5.1, it is not possible to import settings
        from NetBeans IDE 5.5.1 into an earlier IDE release. </p>
        
        <p><b>Note:</b>If you edit the Project Properties for a project that was created
        in NetBeans IDE 4.1 or earlier in NetBeans IDE 5.5.1, the project will no longer
        work in the earlier NetBeans IDE versions. </p>
        <br> 
        </blockquote>
        <p align="center"><a href="#top">top</a></p><br>
        
        <a name="known_issues"></a>
        <h2>Known Issues </h2>
        <br>
<!--
        <div class="greybox">
            <p><b>Note: </b>The NetBeans IDE and Sun Java System Application Server bundle
            creates the <tt>admin</tt> user with password <tt>adminadmin</tt> by default.
            Users should use these settings to log in via the web console.</p>
        </div>
-->
        <br>
        <p>The unresolved issues for this release are as follows: </p>       
        <blockquote>
            <ul>
                
<!-- TEMPLATE FOR BUGS -->
<!--
                    <li><a href="ADD ISSUE LINK HERE">Issue #ADD_ISSUE_NUMBER_HERE:  
                    ADD ISSUE TITLE HERE.</a> 
                    <blockquote>
                        <p><b>Description:</b> ADD DESCRIPTION HERE.</p> 
                        <p><b>Workaround:</b> ADD WORKAROUND HERE.</p>
                    </blockquote></li><br>
-->

<div style="border: 1px solid rgb(14, 27, 85); padding: 10px 30px; background-color: rgb(231, 231, 231); margin-left: 60px; margin-right: 40px;">
  <b>Characters do not display properly in some Asian locales.</b> 
        <blockquote>
            <p><b>Description:</b> When running the IDE with some Asian locales on Ubuntu 6.x and some other Linux distributions, 
            the IDE's screen text may become unreadable. On certain Linux distributions multi-byte characters may display as 
            a rectangle due to JDK font setting issues.</p>
            <p><b>Workaround: </b>Because there is no known workaround for this issue, it is recommended to use 
            an alternative Linux distribution if you must use a locale subject to this behavior. Note that this problem 
            does not occur on Red Hat Enterprise Linux 3. </p>
        </blockquote></li>
</div>
<br>

                    <li><a href="../../../../issues/show_bug.cgi?id=26965">Issue
                        #26965: IDE installer crashes.</a> 
                        <blockquote> 
                            <p><b>Description: </b>If you have an incompatible version of <tt>sax.jar</tt> in your JDK
                            installation, the IDE installer crashes with the following message: 
                            &quot;The wizard cannot continue because of the following error: could
                            not load wizard specified in /wizard.inf (104)&quot; </p>
                            <p><b>Workaround: </b>Temporarily remove <tt>jre/lib/endorsed/sax.jar</tt> from the JDK
                            directory during IDE installation.</p>
                        </blockquote>
                    </li>
                      
                    <li><a href="../../../../issues/show_bug.cgi?id=64771">Issue #64771: Startup fails on Linux 
                    with SELinux (Security-enhanced) option enabled.</a> 
                    <blockquote>
                        <p><b>Description: </b>When starting NetBeans with the SELinux (Security-enhanced) Linux 
                        option enabled, startup fails (Linux only).</p>
                        <p><b>Workaround: </b>If this happens, disable SELinux temporarily by typing 
                        <tt>#setenforce 0</tt> from the command line. Note that this 
                        requires root privileges. Then add <tt>selinux=0</tt> to 
                        your kernel command line to disable SELinux at boot up.</p>
                    </blockquote>
                    </li>
                
                    <li><a href="../../../../issues/show_bug.cgi?id=64840">Issue #64840: 
                    Network communication broken on Linux with IPv6 enabled. </a> 
                    <blockquote>
                        <p><b>Description: </b>Network communication broken on Linux with IPv6 enabled, 
                        preventing the IDE from connecting to bundled servers, 
                        Auto Update, etc.</p>
                        <p><b>Workaround: </b>If this happens, run the IDE using the 
                        <code>-J-Djava.net.preferIPv4Stack=true'</code> switch. 
                        Alternatively, disable IPv6 (in <tt>/etc/modules.conf</tt> 
                        or <tt>/etc/modprobe.conf</tt>).</p>
			<p>For more information see:
                        <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5087907">Issue #5087907</a>.</p>
                    </blockquote>
                    </li>
                    
                    <li><a href="../../../../issues/show_bug.cgi?id=75967">Issue #75967:  
                    Out of memory error when working with large WSDL files.</a> 
                    <blockquote>
                        <p><b>Description:</b> When creating a Web Service client or Web Service 
                        from WSDL, the IDE returns an OutOfMemoryError and may become
                        unusable temporarily.</p> 
                        <p><b>Workaround:</b> If you encoutner this problem, edit the <tt>-J-Xmx128m</tt> 
                        startup parameter in $NB_HOME/etc/netbeans.conf to be <tt>-J-Xmx256m</tt>.</p>
                    </blockquote>
                    </li>

                    <li><a href="../../../../issues/show_bug.cgi?id=71959">Issue #71959:Code completion
                    fails for sources outside a project.</a> 
                    <blockquote>
                        <p><b>Description: </b>When you open a Java source file that is not in a project
                        and try to invoke code completion for standard Java classes, the code completion
                        box does not offer anything.</p>
                        <p><b>Workaround: </b>Create a project for sources that you want to edit in the IDE.</p>
                    </blockquote></li>
                    
                    
                    <li><a href="../../../../issues/show_bug.cgi?id=75562">Issue #75562:Keymap import 
                    from NetBeans IDE 5.0 to does not work.</a> 
                    <blockquote>
                        <p><b>Description: </b>The IDE does not correctly import all user-created keymap profiles
                        or thanges to the standard keymap profiles.</p>
                        <p><b>Workaround: </b>None.</p>

                    </blockquote></li>

                    <li><a href="../../../../issues/show_bug.cgi?id=77129">Issue #77129: Alt keyboard
                    bindings do not work on Macintosh platforms.</a> 
                    <blockquote>
                        <p><b>Description: </b>None of the keyboard combinations that use the Alt key 
                        work on Macintosh.</p>
                        <p><b>Workaround: </b>Use the menu items to invoke the commands.</p>

                    </blockquote></li>

                    <!--
                    <li><a href="../../../../issues/show_bug.cgi?id=78916">Issue #73552: Code completion 
                    does not work for nested annotation and annotation arrays.</a> 
                    <blockquote>
                        <p><b>Description: </b>Code completion not offered when entering import statements in Source Editor.</p>
                        <p><b>Workaround: </b>There is currently no known workaround for this issue.</p>

                    </blockquote></li>
                    -->

                    <li><a href="../../../../issues/show_bug.cgi?id=85361">Issue #85361: NetBeans 5.5 installer 
                    does not start on Windows Vista.</a> 
                    <blockquote>
                        <p><b>Description: </b>On systems running Windows Vista, the NetBeans 5.5 installer fails to start 
                        and a message suggesting running with the "silent" or "console" flag appears. </p>
                        <p><b>Workaround: </b>To correct this, run the installer on JDK 6.0 build 96 or newer.</p>

                        <p>If you encounter further difficulties, disable Compatibility Mode manually. 
                        You can do this by right-clicking the .exe installer file and choosing Properties from the pop-up menu, 
                        then deselecting Compatibility Mode in the Compatibility tab of the File Properties dialog. 
                        Note that if Compatibility Mode was turned on automatically, it is necessary to disable 
                        it for both the current user AND all users. To do so, click the "Show Settings for All Users" 
                        button, then deselect the Compatibility Mode checkbox in the "Compatibility for All Users" dialog.</p>
                    </blockquote>
                    </li>     
                	
                    <li><a href="../../../../issues/show_bug.cgi?id=86858">Issue #86858: Repaint problems on MacOS with JDK 1.6.</a>
                    <blockquote>
                        <p><b>Description: </b>When dragging a tab a black square area appears. After dropping
                        the tab, problems with Welcome screen repainting occur.</p>
                        <p><b>Workaround: </b> Set <tt>-J-Dapple.awt.graphics.UseQuartz=true</tt> or use Java 1.5 for running the IDE.</p>
                    </blockquote>
                    </li>

                    <li><a href="../../../../issues/show_bug.cgi?id=87247">Issue #87247: Copying class does not add required import statements.</a>
                    <blockquote>
                        <p><b>Description: </b>When copying and pasting a class from one package to another, the required import statements are not added. </p>
                        <p><b>Workaround: </b> If you encounter this behavior, invoke the Fix Imports action on the class.</p>
                    </blockquote>
                    </li>

                    <li><a href="../../../../issues/show_bug.cgi?id=6986">Issue #6986: Code not properly updated when bean property is renamed.</a>
                    <blockquote>
                        <p><b>Description:</b> When renaming a bean property with read and write methods, the source code is incorrectly updated.</p>
                        <p><b>Workaround:</b> Ensure that a complete metamodel for the bean exists, then find and change the 
                        setter/getter pattern. Note that this workaround will not work if you have already edited the methods' code. </p>
                    </blockquote>
                    </li>
                    
                    <li><a href="../../../../issues/show_bug.cgi?id=83712">Issue #83712: Project with non-ASCII pathname cannot be built on JDK 6.</a>
                    <blockquote>
                        <p><b>Description:</b> When running the IDE on JDK 1.6 (regardless of what Java version you use
                        to build your projects), and the file path to your project contains national characters not in 
                        the ASCII character set, you may encounter an error when building or running your project. This is 
                        a bug in Ant 1.6.5 triggered by newer XML parsers.</p>
                        <p><b>Workaround:</b> If this occurs, you may use any of the following workarounds:

                        <ol>
                            <li>Place your project in a folder which does not use such characters by renaming
                            the Project using the project's contextual menu.</li>
                            <li>Run the IDE under JDK 5.
                            <li>Download Ant 1.7.0. Then switch the Ant Home paramter to point to 
                            the 1.7.0 Ant installation in Tools > Options > Miscellaneous > Ant.
                            <li>Add the xercesImpl.jar to the IDE's classpath by navigating to
                            Tools > Options > Miscellaneous > Ant and clicking Manage Classpath. Then click Add
                            JAR/ZIP and select the file <code>xerces-<<version>>.jar</code> from the directory
                            <code>ide<<number>>/modules/ext</code> in your NetBeans installation.</li>
                        </ol>
                    </blockquote>
                    </li>
                    
<!--                    <li>Characters do not display properly in some Asian locales.</a> 
                    <blockquote>
                        <p><b>Description:</b> When running the IDE on Red Hat 
                        Fedora Core 3 in the zh_CN locale and possibly other 
                        Asian locales, the IDE's screen text may become unreadable.</p>
                        <p><b>Workaround: </b>There is no workaround for this issue
                        on Red Hat Fedora Core 3, so it is best to use a different Linux 
                        distribution or another operating system if you need to use these locales. Note that this problem 
                        does not occur on Red Hat Enterprise Linux 3. </p>
                    </blockquote></li>
-->

            </ul>
        </blockquote>
        <p align="center"><a href="#top">top</a></p><br>

        <a name="documentation"></a> 
        <h2>Documentation</h2>
        
        <div class="greybox">
            <p><b>Note: </b>The NetBeans IDE 5.5.1 was a bug-fix so the 5.5 documentation
            available on netbeans.org is applicable and should work in most cases.</p>
        </div>
        
        <blockquote> 
            <p>For information about using the IDE, see the following resources: </p>
            <p>Getting Started: </p>
            <ul>
                <li><a href="install.html">NetBeans IDE 5.5.1 Installation Instructions</a>
                <li>NetBeans IDE 5.5 Quick Start Guide <i>(See <a href="https://netbeans.org/kb/archive/index.html">NetBeans IDE Documentation Archives</a> for NetBeans 5.5 documents.)</i>
            </ul>

            Learning Trails:
            <ul>
                <li><a href="../../../../kb/trails/java-se.html">For Basic Java Applications</a> 
                <li><a href="../../../../kb/trails/matisse.html">For Java GUI Applications</a> 
                <li><a href="../../../../kb/trails/platform.html">For NetBeans Modules and Rich-Client Applications</a>                
                <li><a href="../../../../kb/trails/web.html">For Web Applications</a>
                <li><a href="../../../../kb/trails/java-ee.html">For Java EE Applications</a>
                <!--<li><a href="../../../../kb/trails/soa.html">For SOA Applications and UML Modeling</a>-->
                <li><a href="../../../../kb/trails/mobility.html">For Mobile Applications</a>
            </ul>            
            Complete list of NetBeans IDE 5.5 Documentation: 
            <ul>
                <li><a href="../../../../kb/index.html">NetBeans IDE Docs and Support Resources</a></li>
            </ul>
            <br>
            <div class='greybox'>
                <p><b>Note: </b>If you are running the NetBeans IDE on Mac OS X, see <a href="../../../../kb/articles/mac.html"> Using
                NetBeans on Mac OS X</a> for more information about keyboard equivalents,
                tips and tricks, and other Mac-specific topics. </p>
            </div>
        </blockquote>
        <p align="center"><a href="#top">top</a></p><br>

        <a name="more_info"></a>
        <h2>More Information</h2> 
        <blockquote>
            <p>You can find news, articles, additional modules, and other useful
            information on the NetBeans project web site.
            Since NetBeans is an open-source project, the web site also provides access
            to source code, a bug database, information on creating your own NetBeans
            modules, and much more. </p>
            <p>For more information, visit <a href="https://netbeans.org/">http://www.netbeans.org</a>. </p>
            <p>You can keep up to date on NetBeans IDE and interact with the NetBeans community
            by signing up for NetBeans project mailing lists  at <a href="../../../../community/lists/">https://netbeans.org/community/lists/</a>.
        </blockquote>
        <p align="center"><a href="#top">top</a></p><br>
        
    </body>
</html>

