<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
    <head>  
        <title>NetBeans IDE - Build Tools</title>
        <meta http-equiv="content-language" content="en">
        <meta name="description" content="DESCRIPTION HERE">
        <link rel="stylesheet" type="text/css" href="../../features.css">
        <link rel="stylesheet" type="text/css" href="/images_www/js/colorbox/colorbox.css">
    </head>
    <body>
        <script type="text/javascript" src="/images_www/js/colorbox/jquery.colorbox-min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {
                $('a.cbox').colorbox({rel: 'cbox', opacity: 0.7});
            });
        </script>
        <div style="margin:10px 20px 0px 0px;">
            <h1>Build Tools</h1>
            <p class="xintro">
                <a href="../../images_www/v7/3/features/ide-buildtools-maven-full.png"><img
                        src="../../images_www/v7/3/features/ide-buildtools-maven-cut.png"
                        alt="Maven in NetBeans IDE"> <span
                        class="font-11"><br>
                        Click image for fullscreen preview</span></a>
            </p>
            <p class="intro">
                Take control of your build right where your code is—with standard build tools integrated into the IDE.
            </p>
            <div class="line">&nbsp;</div>

            <!-- right text section start -->
            <a name="o1"></a>
            <span class="overview-left" id="im2"><a href="../../images_www/v7/3/features/ide-buildtools-maven-full.png" class="cbox" title="Maven"><img src="../../images_www/v7/3/features/ide-buildtools-maven-cut2.png" width="320" alt="Maven" /></a></span>
            <h2>Maven</h2>
            <p>NetBeans IDE supports the Maven build system to help 
                you manage project 
                dependencies, builds, reports, and documentation.
                Open, build, run, debug, profile,
                and deploy your existing Maven projects, which can be opened
                without an import procedure. 
                Wizards are provided for creating new applications based
                on existing Maven Archetypes, the Maven 
                Repository browser lets you browse the content
                of your local repository and
                any registered remote repositories. Graphs show 
                direct and transitive
                dependencies and identify version conflicts. 
            </p>
            <p><a href="http://wiki.netbeans.org/MavenBestPractices" class="arr-link">
                    Maven in NetBeans IDE</a></p>
            <div class="line">&nbsp;</div>
            <!-- right text section end -->

            <!-- left text section start -->
            <a name="o2"></a>
            <span class="overview-right" id="im3"><a href="../../images_www/v7/3/features/ide-buildtools-ant-full.png" class="cbox" title="Ant"><img src="../../images_www/v7/3/features/ide-buildtools-ant-cut.png" width="320" alt="Ant" /></a></span>
            <h2>Ant</h2>
            <p>The default NetBeans IDE project system is built directly on top of the Ant build system. All
                of the project commands, such as "Build Project" and "Run File in Debugger", 
                call targets in the project's Ant script. You can therefore build and 
                run your project outside the IDE exactly as it is built and run inside the IDE.</p>
            <p>You do not need to be familiar with Ant to work with applications in the IDE. You can set
                all the basic compilation and runtime options in your project's Project
                Properties dialog box and the IDE automatically updates the project's 
                Ant script. If you know how to work with Ant, you can customize a project's 
                Ant script directly or write your own Ant script for your project.
            </p>
            <a href="https://netbeans.org/kb/articles/freeform-config.html" class="arr-link">
                Advanced Free-Form Project Configuration</a>
            <div class="line">&nbsp;</div>
            <!-- left text section end -->

            <!-- right text section start -->
            <a name="o3"></a>
            <span id="im4" class="overview-left"><a href="../../images_www/v7/3/features/groovy-gradle.png" class="cbox" title="Gradle"><img src="../../images_www/v7/3/features/groovy-gradle-cut.png" alt=""  /></a></span>
            <h2>Gradle</h2>
            <p>
                A community-contributed plugin is available
                for Gradle, the Groovy-based build system. The
                plugin lets you open Gradle projects into
                the IDE, create new Gradle projects, and invoke
                Gradle commands in the IDE.
            </p>
            <a href="http://plugins.netbeans.org/plugin/44510/gradle-support" class="arr-link">
                Gradle plugin</a>
            <br/><a href="http://netbeans.dzone.com/articles/definitive-gradle-guide-for-netbeans" class="arr-link">
                The Definitive Gradle Guide for NetBeans IDE</a>
            <div class="line">&nbsp;</div>
            <!-- right text section end -->

            <h2>See Also</h2>
            <ul class="bigger">
                <li><a href="/community/releases/81/index.html">NetBeans IDE 8.1  Release Page</a> for a list of specific features in the latest stable release.</li>
                <li><a href="../../kb/trails/java-se.html">General Java Development Learning Trail</a> for tutorials that will help you get started.</li>
            </ul>

        </div>
    </body>
</html>
