<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!--
Copyright (c) 2009, 2010, 2011, Oracle and/or its affiliates. All rights reserved.
-->

<html>
    <head>
        <title>NetBeans IDE 7.3 Integration with External Tools</title>
        <meta name="NAV_LINK" content="Java EE Documentation">
        <meta name="description" content="NetBeans 7.3 Integration with External Tools Documentation archive">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" href="../../../netbeans.css" type="text/css">

    </head>
    <body>
        <a name="top"></a>
        <h1>NetBeans IDE 7.3 Integration with External Tools</h1>
        
        <p>This page lists documentation that describes how to configure and integrate NetBeans IDE 7.3
            with external tools and services, for example, how to connect to databases,
            manage your source code using version control software,
            and use collaborative features available through Project Kenai.
        </p>
        <p>For additional information about NetBeans 7.3, see <a href="../../../community/releases/73/index.html" title="NetBeans 7.3 Release Information">NetBeans IDE 7.3 Release Information</a> and <a href="../index.html" title="NetBeans IDE 7.3 Documentation">NetBeans IDE 7.3 Documentation</a>.</p>
        <p>For a list of documentation for the current release, see the <a href="../../trails/tools.html">Integration with External Tools in the IDE Learning Trail</a>.</p>


        <h2>All Tutorials and Demos</h2>
        <table width="95%" cellpadding="5">
            <tr class="valign-top">
            <td class="valign-top" style="width: 50%;">

                <!-- +++++++++++++++ left column +++++++++++++++ -->
                <p class="orange bold">Collaborative Development</p>
                <ul>
                   <li><a href="../../docs/ide/team-servers.html">Working With a Team Server in NetBeans IDE</a></li>
                    <li><a href="kenai-issuetracking.html">Working with Issue Tracking</a></li>
                </ul>

                <p class="orange bold">Source Code Management</p>

                <ul>
                    <li><a href="mercurial-queues.html">Mercurial Queues Guide</a></li>
                    <li><a href="git.html">Git</a></li>
                    <li><a href="mercurial.html">Mercurial</a></li>
                    <li><a href="../../docs/ide/subversion.html">Subversion</a></li>
                    <li><a href="../../docs/ide/clearcase.html">ClearCase</a></li>
                    <li><a href="../../docs/ide/cvs.html">Concurrent Versions System (CVS)</a></li>
                </ul>
                <p class="orange bold">Maven</p>

                 <ul>
                    <li><a href="../../docs/java/maven-hib-java-se.html">Creating a Maven Swing Application Using Hibernate</a></li>
                    <li><a href="http://wiki.netbeans.org/MavenBestPractices">Maven Best Practices</a></li>
                </ul>
                     
                </td>

            <td class="valign-top" style="width: 50%;">
                <!-- +++++++++++++++ right column +++++++++++++++ -->
                
                <p class="orange bold">Screencasts</p>
                <ul>
                   <li><a href="kenai-issuetracking-screencast.html">Demo: Working with Integrated Issue Tracking</a></li>
                   <li><a href="http://www.youtube.com/watch?v=mQS-CViDHBU">YouTube: FindBugs in NetBeans IDE 7.2</a></li>
                </ul>

               <p class="orange bold">Databases</p>
                <ul>
                  <li><a href="../../docs/ide/oracle-db.html">Connecting to Oracle Database from NetBeans IDE</a></li>
                  <li><a href="../../docs/ide/install-and-configure-mysql-server.html">Setting Up the MySQL Database Server in the Windows Operating System</a> </li>
                  <li><a href="../../docs/ide/java-db.html">Working with the Java DB (Derby) Database</a></li>
                  <li><a href="../../docs/ide/mysql.html">Connecting to a MySQL Database</a></li>
                  <li><a href="../../docs/web/mysql-webapp.html">Creating a Simple Web Application Using a MySQL Database</a></li>
                </ul>

                


                <p class="orange bold">Optimization</p>
                <ul>
                    <li><a href="../../docs/java/profile-loadgenerator.html">Using a Load Generator in NetBeans IDE</a></li>
                </ul>

            </td>
            </tr>

        </table>

        <!-- ++++++++++++ Other Resources and Training table ++++++++++++ -->
        <table cellspacing="3" width="95%">
            <tr class="valign-top">
                <td class="valign-top" style="width: 50%;">
                    <h2>Other Resources<a name="other"></a></h2>
                    <ul>
                        <li><a href="http://wiki.netbeans.org/NetBeansUserFAQ#Version_Control_Systems" target="_blank">Version Control FAQs</a></li>
                        <li><a href="http://wiki.netbeans.org/NetBeansUserFAQ#Database_Connectivity" target="_blank">Database Connectivity FAQs</a></li>
                        <li><a href="http://www.mysql.com/why-mysql/java/" target="_blank">MySQL and Java - Resources</a></li>
                    </ul>
                </td>
                <td class="valign-top" style="width: 50%;">
                    <h2>Community-Contributed Docs</h2>
                    <ul>
                        <li><a href="http://wiki.netbeans.org/TutorialUsingSVNLocalRepository">Using a Subversion (SVN) Local Repository</a></li>
                        <li><a href="http://wiki.netbeans.org/AccessMssql">Accessing MS Access / MS SQL from NetBeans</a></li>
                    </ul>
                    
                </td>
            </tr>
        </table>
        <p>If you are using NetBeans IDE 7.2, please see the <a href="../../72/ide/index.html">NetBeans IDE 7.2 Integration with External Tools Index</a>.</p>
        <!-- +++++++++++++++++++++++++++++++++++++ -->
        <hr>
    </body>
</html>
