blob: c8e262bf85f032cb7f1add3878cbb7896662d96d [file] [log] [blame]
<!doctype html>
<html class="no-js" lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Developing General Java Applications</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Developing General Java Applications - Apache NetBeans">
<meta name="author" content="Apache NetBeans">
<meta name="description" content="Developing General Java Applications - Apache NetBeans">
<meta name="keywords" content="Apache NetBeans, Tutorials, Developing General Java Applications">
<meta name="generator" content="Apache NetBeans">
<link rel="stylesheet" href="../../../../../../_/css/font-awesome.min.css">
<link rel="alternate" type="application/atom+xml" title="Apache NetBeans Blog" href="https://netbeans.apache.org/blogs/atom" />
<link rel="stylesheet" href="../../../../../../_/css/highlightjs/default.min.css">
<link rel="stylesheet" href="../../../../../../_/css/netbeans.css">
<link rel="apple-touch-icon" sizes="180x180" href="../../../../../../_/images/fav/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="../../../../../../_/images/fav/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="../../../../../../_/images/fav/favicon-16x16.png">
<link rel="manifest" href="../../../../../../_/images/fav/site.webmanifest">
<link rel="mask-icon" href="../../../../../../_/images/fav/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#ffc40d">
<meta name="theme-color" content="#ffffff">
<link href="../../../../../../_/css/font-open-sans.css" rel="stylesheet">
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
</head>
<body>
<div class="title-bar" data-responsive-toggle="responsive-menu" data-hide-for="medium">
<button type="button" data-toggle="responsive-menu"><i style='font-size: 32px; color: #fff; padding: 8px' class='fa fa-bars'></i></button>
<div class="title-bar-title">Apache NetBeans</div>
</div>
<div class="top-bar" id="responsive-menu">
<div class='top-bar-left'>
<a class='title' href="../../../../../../index.html"><img src='../../../../../../_/images/apache-netbeans.svg' style='padding: 8px; height: 48px;'> Apache NetBeans</a>
</div>
<div class="top-bar-right">
<ul class="vertical medium-horizontal menu" data-responsive-menu="drilldown medium-dropdown">
<li> <input id="search-input" type="text" placeholder="Search the docs"> </li>
<li> <a href="../../../../../../front/main/community">Community</a> </li>
<li> <a href="../../../../../../front/main/participate">Participate</a> </li>
<li> <a href="../../../../../../front/main/blogs">Blog</a></li>
<li> <a href="../../../../../../front/main/help">Get Help</a> </li>
<li> <a href="https://plugins.netbeans.apache.org/">Plugins</a> </li>
<li> <a href="../../../../../../front/main/download">Download</a> </li>
</ul>
</div>
</div>
<!-- src/templates/news -->
<section class="hero news alternate">
<div class='grid-container'>
<div class='cell'>
<div class="annotation">Latest release</div>
<h1>Apache NetBeans 27</h1>
<p><a class="button success" href="../../../../../../front/main/download/nb27">Download</a></p>
</div>
</div>
</section>
<div class='grid-container main-content tutorial'>
<article class="doc">
<h1 class="sect0">Developing General Java Applications</h1>
<div class="sectionbody">
<div class="paragraph">
<p class='reviewed'><i class="fa fa-check-circle"></i> Last reviewed on 2023-02-25</p>
</div>
</div>
<div id="toc" class="toc">
<div id="toctitle"></div>
<ul class="sectlevel1">
<li><a href="#_project_setup">Project Setup</a>
<ul class="sectlevel2">
<li><a href="#_creating_a_java_class_library_project">Creating a Java Class Library Project</a></li>
<li><a href="#_creating_a_java_application_project">Creating a Java Application Project</a></li>
<li><a href="#_configuring_the_compilation_classpath">Configuring the Compilation Classpath</a></li>
</ul>
</li>
<li><a href="#_creating_and_editing_java_source_code">Creating and Editing Java Source Code</a>
<ul class="sectlevel2">
<li><a href="#_creating_a_java_package_and_class_file">Creating a Java Package and Class File</a></li>
<li><a href="#_editing_a_java_file">Editing a Java File</a></li>
</ul>
</li>
<li><a href="#_compiling_and_running_the_application">Compiling and Running the Application</a>
<ul class="sectlevel2">
<li><a href="#_setting_the_main_class_and_execution_arguments">Setting the Main Class and Execution Arguments</a></li>
<li><a href="#_running_the_application">Running the Application</a></li>
</ul>
</li>
<li><a href="#_testing_and_debugging_the_application">Testing and Debugging the Application</a>
<ul class="sectlevel2">
<li><a href="#_creating_junit_tests">Creating JUnit Tests</a></li>
<li><a href="#_running_junit_tests">Running JUnit Tests</a></li>
<li><a href="#_debugging_the_application">Debugging the Application</a></li>
</ul>
</li>
<li><a href="#_building_running_and_distributing_the_application">Building, Running, and Distributing the Application</a>
<ul class="sectlevel2">
<li><a href="#_building_the_application">Building the Application</a></li>
<li><a href="#_running_the_application_outside_of_the_ide">Running the Application Outside of the IDE</a></li>
<li><a href="#_distributing_the_application_to_other_users">Distributing the Application to Other Users</a></li>
</ul>
</li>
<li><a href="#_other_common_tasks">Other Common Tasks</a>
<ul class="sectlevel2">
<li><a href="#_making_the_javadoc_available_in_the_ide">Making the Javadoc Available in the IDE</a></li>
<li><a href="#_generating_javadoc_for_a_project">Generating Javadoc for a Project</a></li>
</ul>
</li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>The following short tutorial takes you through some of the basic steps of developing a Java SE application in the NetBeans IDE. This tutorial assumes you already have some familiarity with developing Java applications. Along the way, you will see some of the IDE&#8217;s features that simplify application development.</p>
</div>
<div class="paragraph">
<p>You will create an application that converts several words into a single word that contains one letter from each of the other words. The resulting word is called an <em>acrostic</em>.</p>
</div>
<div class="paragraph">
<p>This tutorial takes approximately 30 minutes to complete. If you would like to do a quicker <strong>Hello World</strong> tutorial, see the <a href="../quickstart/" class="xref page">NetBeans IDE Java Quick Start Tutorial</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_project_setup"><a class="anchor" href="#_project_setup"></a>Project Setup</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The application you create will contain two projects that will use Ant to handle the build process:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>A Java Class Library project, <strong>MyLib</strong>, in which you will create a utility class.</p>
</li>
<li>
<p>A Java Application project, <strong>MyApp</strong>, with a main class that implements a method from the library project&#8217;s utility class.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>After you create the projects, you will add the library project, <strong>MyLib</strong>, to the classpath of the application project, <strong>MyApp</strong>. Then you will code the application. The library project will contain a utility class with a method named <code>acrostic</code> . The method <code>acrostic</code> takes an array of words as a parameter and then generates an acrostic based on those words. The <strong>MyApp</strong> project will contain a class <strong>Main</strong> that calls method <code>acrostic</code> and passes the words that are entered as arguments when the application is run.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
Strictly speaking, two projects are not needed for such a simple application. This tutorial uses two projects to demonstrate features that you might need for a more complex application.
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="_creating_a_java_class_library_project"><a class="anchor" href="#_creating_a_java_class_library_project"></a>Creating a Java Class Library Project</h3>
<div class="paragraph">
<p>To open a new Java project, press:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows</strong>&#8482;/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>N</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>N</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, select <strong>File &gt; New Project&#8230;&#8203;</strong> from the menu bar. Then <strong>Choose Project</strong> by selecting <strong>Categories: Java with Ant</strong> and <strong>Projects: Java Class Library</strong>, then click <strong>Next &gt;</strong>.</p>
</div>
<div class="paragraph">
<p>For <strong>Name and Location</strong>, set <strong>Project Name: MyLib</strong>. Change <strong>Project Location:</strong> to any directory on your computer. From now on, this tutorial refers to this directory as <code><em>NetBeansProjects</em></code>.</p>
</div>
<div class="paragraph">
<p>The specified path is then shown as <strong>Project Folder: <code> /<code><em>NetBeansProjects/MyLib</em> </code></code></strong></p>
</div>
<div class="paragraph">
<p>Optionally, select <strong>Use Dedicated Folder for Storing Libraries</strong> checkbox and specify the location for the <strong>libraries Folder:</strong>. See <a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&amp;id=NBDAG455">Sharing a Library with Other Users</a> in <em>Developing Applications with NetBeans IDE</em> for more information on this option.</p>
</div>
<div class="paragraph">
<p>Finally, click <strong>Finish</strong>. The MyLib project will be created and opens in the <strong>Projects</strong> window.</p>
</div>
</div>
<div class="sect2">
<h3 id="_creating_a_java_application_project"><a class="anchor" href="#_creating_a_java_application_project"></a>Creating a Java Application Project</h3>
<div class="paragraph">
<p>Open a new Java Project, as shown above. Then <strong>Choose Project</strong> by selecting <strong>Categories: Java with Ant</strong> and <strong>Projects: Java Application</strong>, then click <strong>Next &gt;</strong>.</p>
</div>
<div class="paragraph">
<p>for <strong>Name and Location</strong>, set <strong>Project Name: MyApp</strong>. Make sure the Project Location is set to <code><em>NetBeansProjects</em></code>.</p>
</div>
<div class="paragraph">
<p>Optionally, select the <strong>Use Dedicated Folder for Storing Libraries</strong> checkbox.</p>
</div>
<div class="paragraph">
<p>Ensure that the <strong>Create Main Class</strong> checkbox is selected and, enter <strong>acrostic.Main</strong> as the main class.</p>
</div>
<div class="paragraph">
<p>Finally, click <strong>Finish</strong>. The MyApp project is displayed in the <strong>Projects</strong> window and <strong>Main.java</strong> opens in the source editor.</p>
</div>
</div>
<div class="sect2">
<h3 id="_configuring_the_compilation_classpath"><a class="anchor" href="#_configuring_the_compilation_classpath"></a>Configuring the Compilation Classpath</h3>
<div class="paragraph">
<p>Since class <strong>MyApp</strong> is going to depend on class <strong>MyLib</strong>, you have to add <strong>MyLib</strong> to the classpath of <strong>MyApp</strong>. Doing so also ensures that classes in the <strong>MyApp Project</strong> can refer to classes in the <strong>MyLib Project</strong> without causing compilation errors. In addition, this enables you to use code completion in the <strong>MyApp Project</strong> to fill in code based on the <strong>MyLib Project</strong>. In the IDE, the classpath is visually represented by the <strong>Libraries</strong> node.</p>
</div>
<div class="paragraph">
<p><strong>To add the library&#8217;s utility classes to the project classpath:</strong></p>
</div>
<div class="paragraph">
<p>In the <strong>Projects</strong> window, right-click the <strong>Libraries</strong> node for the <strong>MyApp</strong> project and choose <strong>Add Project&#8230;&#8203;</strong> as shown in the image below.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="../../../../_images/kb/docs/java/addproj.png" alt="addproj">
</div>
</div>
<div class="paragraph">
<p>If necessary, in the <strong>Add Project</strong> window browse to <code><em>NetBeansProjects</em></code> and, select the <strong>MyLib</strong> project folder. When you do so, you will see <strong>Project Name: MyLib</strong> and, <strong>Project JAR Files: dist/MyLib.jar</strong> can be added to the project.</p>
</div>
<div class="paragraph">
<p>Notice that a JAR file is shown for <strong>MyLib</strong> even though you have not actually built one yet. This JAR file will get built when you build and run the <strong>MyApp</strong> project.</p>
</div>
<div class="paragraph">
<p>Select <strong>Add Project JAR Files</strong> then expand the <strong>Libraries</strong> node of <strong>MyApp</strong> in the <strong>Projects</strong> window and, you will see that <strong>MyLib</strong> project&#8217;s JAR file has been added to the <strong>MyApp</strong> project&#8217;s classpath.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_creating_and_editing_java_source_code"><a class="anchor" href="#_creating_and_editing_java_source_code"></a>Creating and Editing Java Source Code</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Now you need to create a Java package and, add the method that will construct the acrostic. After that you need to implement the method <code>acrostic</code> in class <code>Main</code>.</p>
</div>
<div class="sect2">
<h3 id="_creating_a_java_package_and_class_file"><a class="anchor" href="#_creating_a_java_package_and_class_file"></a>Creating a Java Package and Class File</h3>
<div class="paragraph">
<p>In the <strong>Projects</strong> window, right-click the <strong>MyLib</strong> project node and select <strong>New &gt; Java Class&#8230;&#8203;</strong> . Alternatively, regardless of where you are in the project, press:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows&#8482;</strong>/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>N</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Command</kbd>+<kbd>N</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, select <strong>File &gt; New File&#8230;&#8203;</strong> from the menu bar. Then in the <strong>New File</strong> window select: <strong>Project: MyLib</strong>, <strong>Categories: Java</strong> and <strong>File Types: Java Class</strong> then click <strong>Next</strong>.</p>
</div>
<div class="paragraph">
<p>In the <strong>New Java Class</strong> window, type: <strong>Class Name: LibClass</strong> and <strong>Package: org.me.mylib</strong>. Click <strong>Finish</strong> and <strong>LibClass.java</strong> opens in the source editor.</p>
</div>
<div class="paragraph">
<p>In <code>LibClass.java</code>, place the cursor on the line after the class declaration <code>public class LibClass {</code>.</p>
</div>
<div class="paragraph">
<p>Type or paste in the following method code:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java"> public static String acrostic(String[] args) {
StringBuilder b = new StringBuilder();
for (int i = 0; i &lt; args.length; i++) {
if (args[i].length() &gt; i) {
b.append(args[i].charAt(i));
} else {
b.append('?');
}
}
return b.toString();
}</code></pre>
</div>
</div>
<div class="paragraph">
<p>If the code that you pasted in is not formatted correctly, press:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows&#8482;</strong>/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>F</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>F</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, <strong>Source &gt; Format</strong> from the menu bar or, right-click <strong>Format</strong> to reformat the entire file. Then save your file:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows&#8482;</strong>/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>S</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Command</kbd>+<kbd>S</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, select <strong>File &gt; Save</strong> from the menu bar.</p>
</div>
</div>
<div class="sect2">
<h3 id="_editing_a_java_file"><a class="anchor" href="#_editing_a_java_file"></a>Editing a Java File</h3>
<div class="paragraph">
<p>Now you will add some code to class <code>Main.java</code>. In doing so, you will see the source editor&#8217;s code completion and, code template features.</p>
</div>
<div class="paragraph">
<p>Select the <code>Main.java</code> tab in the source editor. If it isn&#8217;t already open, select the <strong>Projects</strong> window and expand <strong>MyApp &gt; Source Packages &gt; acrostic</strong> and either: double-click <code>Main.java</code> or, right-click and select <strong>Open</strong>.</p>
</div>
<div class="paragraph">
<p>In the method <code>main</code>, delete the comment: <code>// TODO code application logic here</code> and, in its place type the following:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">String result = Li</code></pre>
</div>
</div>
<div class="paragraph">
<p>At this point stop typing but leave the cursor immediately after <code>Li</code>. Invoke code completion by pressing <span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Space</kbd></span>, a short list of options appears. However, the class that you want, <code>LibClass</code> might not be there. If you press <span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Space</kbd></span> again a longer code completion list appears containing <code>LibClass</code>, select <code>LibClass</code> and press <strong>Enter</strong>. The IDE fills in the rest of the class name and also automatically creates an import statement for the class.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
The IDE also opens a box above the code completion box that displays Javadoc information for the selected class or package. Since there is no Javadoc information for this package, the box displays a "Cannot find Javadoc" message.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>In the main method, type a period ( <code>.</code> ) after <code>LibClass</code>, the code completion box opens again. Select the <code>acrostic(String[]args)</code> method and press <strong>Enter</strong>. The IDE fills in the <code>acrostic</code> method and highlights the <code>args</code> parameter, press <strong>Enter</strong> again to accept <code>args</code> as the parameter, end the line with a semicolon ( <code>;</code> ). The line should look, as follows:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">String result = LibClass.acrostic(args);</code></pre>
</div>
</div>
<div class="paragraph">
<p>Press <strong>Enter</strong> to start a new line. Then type <code>sout</code> and press <strong>Tab</strong>. The <code>sout</code> abbreviation expands to <code>System.out.println("");</code> with the cursor positioned between the quotation marks. Type <code>Result =</code> inside the quotation marks and <code>+ result</code> after the end quotation mark. The final line should look like the following line.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">System.out.println("Result = " + result);</code></pre>
</div>
</div>
<div class="paragraph">
<p>Save the file.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<code>sout</code> is one of many code templates that are available in the Source Editor. To find out how to edit using code templates see, See <a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&amp;id=NBDAG455">Sharing a Library with Other Users</a> in <em>Developing Applications with NetBeans IDE</em> for more information on this option.choose Tools &gt; Options &gt; Editor &gt; Code Template.
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_compiling_and_running_the_application"><a class="anchor" href="#_compiling_and_running_the_application"></a>Compiling and Running the Application</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Now you need to set the main class and execution arguments so that you can run the project.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
By default, the projects have been created with the Compile on Save feature enabled, so you do not need to compile your code first in order to run the application in the IDE. For more information, see <a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&amp;id=NBDAG525">Compiling a Single Java File</a> in <em>Developing Applications with NetBeans IDE</em>.
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="_setting_the_main_class_and_execution_arguments"><a class="anchor" href="#_setting_the_main_class_and_execution_arguments"></a>Setting the Main Class and Execution Arguments</h3>
<div class="paragraph">
<p>The output of this program is based on arguments that you provide when you run the program. As arguments, you will provide five words, from which the acrostic "Hello" will be generated. The acrostic is assembled from the first letter of the first word, the second letter of the second word, the third letter of the third word, and so on.</p>
</div>
<div class="paragraph">
<p><strong>To add the arguments for the IDE to use when running the application:</strong></p>
</div>
<div class="paragraph">
<p>From the <strong>Projects</strong> window, right-click the <strong>MyApp</strong> project node and select <strong>Properties</strong>. The <strong>Project Properties</strong> window opens, select the <strong>Categories: Run</strong> node in the dialog&#8217;s left-hand pane. In the right-hand pane set <strong>Arguments: However we all feel zealous</strong> and select <strong>OK</strong>.</p>
</div>
</div>
<div class="sect2">
<h3 id="_running_the_application"><a class="anchor" href="#_running_the_application"></a>Running the Application</h3>
<div class="paragraph">
<p>Now that you have created the application and provided runtime arguments for the application, you can test run the application in the IDE.</p>
</div>
<div class="paragraph">
<p><strong>To run the application in the IDE:</strong></p>
</div>
<div class="paragraph">
<p>First, press <code>F11</code> to clean and build your project or, in the <strong>Projects</strong> window right-click the <strong>MyApp</strong> project node and choose <strong>Clean and Build</strong> or, select <strong>Run &gt; Clean and Build Project (MyApp)</strong> from the menu bar.</p>
</div>
<div class="paragraph">
<p>Then, you can press <code>F6</code> or, in the <strong>Projects</strong> window right-click the <strong>MyApp</strong> project node and choose <strong>Run</strong> or, select <strong>Run &gt; Run Project (MyApp)</strong> from the menu bar .</p>
</div>
<div class="paragraph">
<p>In the <strong>Output</strong> window, you should see the output from the program, <code>Result = Hello</code>, the acrostic of the phrase that was passed as an argument to the program.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_testing_and_debugging_the_application"><a class="anchor" href="#_testing_and_debugging_the_application"></a>Testing and Debugging the Application</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Now you will create and run a test for the project using JUnit and then run the application in the IDE&#8217;s debugger to check for errors. In the JUnit test, you will test the LibClass by passing a phrase to the <code>acrostic</code> method and using an assertion to indicate what you think the result should be.</p>
</div>
<div class="sect2">
<h3 id="_creating_junit_tests"><a class="anchor" href="#_creating_junit_tests"></a>Creating JUnit Tests</h3>
<div class="paragraph">
<p>To create a JUnit test, from the <strong>Projects</strong> window select the <code>LibClass.java</code> node and press:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows&#8482;</strong>/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>U</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>U</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, select <strong>Tools &gt; Create/Update Tests</strong> from the menu bar or, in the <strong>Projects</strong> window, right-click the <code>LibClass.java</code> node and and select <strong>Tools &gt; Create/Update Tests</strong>.</p>
</div>
<div class="paragraph">
<p>In the <strong>Create/Update Tests</strong> dialog box, click <strong>OK</strong> to run the command with the default options.</p>
</div>
<div class="paragraph">
<p>In the <strong>Projects</strong> window you will see that the IDE has created the <code>org.me.mylib</code> package, the <code>LibClassTest.java</code> file in the <strong>MyLib &gt; Test Packages</strong> folder and, created the <strong>MyLib &gt; Test Libraries</strong> folder. Finally the file <code>LibClassTest.java</code> is opened in the editor.</p>
</div>
<div class="paragraph">
<p>In the <strong>Projects</strong> window, right-click the <strong>Test Libraries</strong> node and select <strong>Properties</strong>. In the <strong>Project Properties - MyLib</strong> window, select <strong>Categories: Libraries</strong>. In the right-hand pane select the <strong>Compile Tests</strong> tab and click the ` <strong>+</strong> ` button to the right of the <strong>Classpath</strong> heading. From the pop-up list select <strong>Add Library</strong>, from the <strong>Global Libraries</strong> folder select <code>JUnit 4.x</code> and click <strong>Add Library</strong> repeat, this time selecting the <code>Hamcrest 1.x</code> library. Select the <strong>Run Tests</strong> tab and add these libraries to its classpath.</p>
</div>
<div class="paragraph">
<p>In <code>LibClassTest.java</code>, delete the body of the <code>public void testAcrostic()</code> method and, in place of the deleted lines, type or paste in the following:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">System.err.println("Running testAcrostic...");
String result = LibClass.acrostic(new String[]{"fnord", "polly", "tropism"});
assertEquals("Correct value", "foo", result);</code></pre>
</div>
</div>
<div class="paragraph">
<p>Then <strong>Save</strong> the file.</p>
</div>
</div>
<div class="sect2">
<h3 id="_running_junit_tests"><a class="anchor" href="#_running_junit_tests"></a>Running JUnit Tests</h3>
<div class="paragraph">
<p>In the <strong>Projects</strong> window, select the <strong>MyLib</strong> project node and press:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows&#8482;</strong>/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Alt</kbd>+<kbd>F6</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>F6</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, select <strong>Run &gt; Test Project (MyLib)</strong> from the menu bar or, right-click the <strong>MyLib</strong> project node and select <strong>Test</strong>. A notification pops up telling you "Tests completed successfully for project: MyLib", and then instructs you to open the <strong>Test Results</strong> window, were you will receive confirmation of success.</p>
</div>
<div class="paragraph">
<p>You can also run a single test file rather than testing the entire project. Right-click the <code>LibClass.java</code> node in the <strong>Projects</strong> window and choose <strong>Run &gt; Test File</strong>. Alternatively, if <code>LibClassTest.java</code> is open in the editor, select <strong>Run &gt; Test File</strong> from the menu bar.</p>
</div>
<div class="paragraph">
<p>The JUnit API documentation is available from the IDE. To look for Javadoc references, select <strong>Help &gt; Javadoc References</strong> from the menu bar and select <code>JUnit</code>.</p>
</div>
<div class="paragraph">
<p>If this is the first time you try to access Javadoc in the IDE, you need to first choose <strong>Help &gt; Javadoc References &gt; More Javadoc</strong>.</p>
</div>
<div class="paragraph">
<p>You can learn more about JUnit by visiting <a href="http://www.junit.org">http://www.junit.org</a></p>
</div>
</div>
<div class="sect2">
<h3 id="_debugging_the_application"><a class="anchor" href="#_debugging_the_application"></a>Debugging the Application</h3>
<div class="paragraph">
<p>In this section, you will use the debugger to step through the application and watch the values of variables change as the acrostic is assembled.</p>
</div>
<div class="paragraph">
<p><strong>To run the application in the debugger:</strong></p>
</div>
<div class="paragraph">
<p>In the <code>LibClass.java</code> file, go to the <code>acrostic</code> method and place the insertion point anywhere inside <code>b.append(args[i].charAt(i));</code>, then set a breakpoint by pressing:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows&#8482;</strong>/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>F8</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Command</kbd>+<kbd>F8</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, select <strong>Debug &gt; Toggle Line Breakpoint</strong> from the menu bar or, in the left hand margin right-click the specified line and select <strong>Breakpoint &gt; Toggle Line Breakpoint</strong>.</p>
</div>
<div class="paragraph">
<p>Select the <strong>MyApp</strong> project node in the <strong>Projects</strong> window and, press:</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Windows</strong>&#8482;/Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>F5</kbd></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>macOS</strong>&#8482;</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Shift</kbd>+<kbd>F5</kbd></span></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>or, select <strong>Debug &gt; Debug Project (MyApp)</strong> from the menu bar or, right-click and select <strong>Debug</strong>. The IDE opens the <strong>Debugging</strong> window and runs the project in the debugger until the breakpoint is reached.</p>
</div>
<div class="paragraph">
<p>Select the <strong>Variables</strong> window in the bottom of the IDE and expand the <code>args</code> node. The array of strings contains the phrase you entered as the command arguments.</p>
</div>
<div class="paragraph">
<p>Press <kbd>F7</kbd> or, select <strong>Debug &gt; Step Into</strong> from the menu bar to step through the program and watch the <code>b</code> variable change as the acrostic is constructed.</p>
</div>
<div class="paragraph">
<p>When the program reaches the end, the debugger windows close.</p>
</div>
<div class="paragraph">
<p>For more information, see <a href="../junit-intro/" class="xref page">Writing JUnit Tests in NetBeans IDE</a>.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_building_running_and_distributing_the_application"><a class="anchor" href="#_building_running_and_distributing_the_application"></a>Building, Running, and Distributing the Application</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once you are satisfied that your application works properly, you can prepare the application for deployment outside of the IDE. In this section you will build the application&#8217;s JAR file and then run the JAR file from the command line.</p>
</div>
<div class="sect2">
<h3 id="_building_the_application"><a class="anchor" href="#_building_the_application"></a>Building the Application</h3>
<div class="paragraph">
<p>The main build command in the IDE is the <strong>Clean and Build</strong> command. The <strong>Clean and Build</strong> command deletes previously compiled classes and other build artifacts and then rebuilds the entire project from scratch.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
There is also a Build command, which does not delete old build artifacts, but this command is disabled by default. See <a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&amp;id=NBDAG512">About Building Java Projects</a> in <em>Developing Applications with NetBeans IDE</em> for more information.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>To build the application, press <span class="keyseq"><kbd>Shift</kbd>+<kbd>F11</kbd></span> or, if <code>Main.java</code> is open in the editor, select <strong>Run &gt; Clean and Build Project (MyApp)</strong> from the menu bar or, in the <strong>projects</strong> window right-click on the <strong>MyApp</strong> node and select <strong>Clean and Build</strong>.</p>
</div>
<div class="paragraph">
<p>Output from the Ant build script appears in the <strong>Output</strong> window, If the window does not appear automatically, open it manually by choosing <strong>Window &gt; Output</strong> from the menu bar.</p>
</div>
<div class="paragraph">
<p>When you clean and build your project, the following things occur:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Output folders that have been generated by previous build actions are deleted, " <strong>cleaned</strong> ". In most cases, these are the <code>build</code> and <code>dist</code> folders.</p>
</li>
<li>
<p><code>build</code> and <code>dist</code> folders are added to your project folder, hereafter referred to as the <em>PROJECT_HOME</em> folder. You can view these folders in the Files window.</p>
</li>
<li>
<p>All of the sources are compiled into <code>.class</code> files, which are placed into the <code><em>PROJECT_HOME</em>/build</code> folder.</p>
</li>
<li>
<p>A JAR file containing your project is created inside the <code><em>PROJECT_HOME</em>/dist</code> folder.</p>
</li>
<li>
<p>If you have specified any libraries for the project, in addition to the JDK, a <code>lib</code> folder is created in the <code>dist</code> folder. The libraries are copied into <code>dist/lib</code>.</p>
</li>
<li>
<p>The manifest file in the JAR is updated to include entries that designate the main class and any libraries that are on the project&#8217;s classpath.</p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
You can view the contents of the manifest in the IDE&#8217;s <strong>Files</strong> window. After you have built your project, switch to the Files window and navigate to <code>dist/MyApp.jar</code>. Expand the node for the JAR file, expand the <code>META-INF</code> folder, and double-click <code>MANIFEST.MF</code> to display the manifest in the Source Editor.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>To find more about manifest files, you can read <a href="http://java.sun.com/docs/books/tutorial/deployment/jar/manifestindex.html">this chapter</a> from the Java Tutorial.</p>
</div>
</div>
<div class="sect2">
<h3 id="_running_the_application_outside_of_the_ide"><a class="anchor" href="#_running_the_application_outside_of_the_ide"></a>Running the Application Outside of the IDE</h3>
<div class="paragraph">
<p><strong>To run the application outside of the IDE:</strong></p>
</div>
<div class="paragraph">
<p>On your system, open up a command prompt or terminal window.</p>
</div>
<div class="paragraph">
<p>In the command prompt, change directories to the <code>MyApp/dist</code> directory.</p>
</div>
<div class="paragraph">
<p>At the command line, type the following statement:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">java -jar MyApp.jar However we all feel zealous</code></pre>
</div>
</div>
<div class="paragraph">
<p>The application then executes and returns the following output as shown in the image below:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">Result = Hello</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_distributing_the_application_to_other_users"><a class="anchor" href="#_distributing_the_application_to_other_users"></a>Distributing the Application to Other Users</h3>
<div class="paragraph">
<p>Now that you have verified that the application works outside of the IDE, you are ready to distribute the application.</p>
</div>
<div class="paragraph">
<p><strong>To distribute the application:</strong></p>
</div>
<div class="paragraph">
<p>On your system, create a zip file that contains the application JAR file (<code>MyApp.jar</code>) and the accompanying <code>lib</code> folder that contains <code>MyLib.jar</code>.</p>
</div>
<div class="paragraph">
<p>Send the file to the people who will use the application. Instruct them to unpack the zip file, making sure that the <code>MyApp.jar</code> file and the <code>lib</code> folder are in the same folder.</p>
</div>
<div class="paragraph">
<p>Instruct the users to follow the steps in the <a href="#running-outside-IDE">Running the Application Outside of the IDE</a> section above.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_other_common_tasks"><a class="anchor" href="#_other_common_tasks"></a>Other Common Tasks</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You have now completed the main part of the tutorial, but there are still some basic tasks that have not been covered. This section includes a few of those tasks.</p>
</div>
<div class="sect2">
<h3 id="_making_the_javadoc_available_in_the_ide"><a class="anchor" href="#_making_the_javadoc_available_in_the_ide"></a>Making the Javadoc Available in the IDE</h3>
<div class="paragraph">
<p>To view the Java SE API documentation in the NetBeans IDE, select either: <strong>Source &gt; Show Documentation</strong> or, <strong>Window &gt; IDE Tools &gt; Javadoc Documentation</strong> from the menu bar.</p>
</div>
<div class="paragraph">
<p>However, for some third-party libraries, API documentation is not available. In these cases, the Javadoc resources must be manually associated with the IDE.</p>
</div>
<div class="paragraph">
<p>If you have not already installed the Javadoc for your JDK then go to:</p>
</div>
<div class="paragraph">
<p><a href="https://www.oracle.com/technetwork/java/javase/downloads/index.html" class="bare">https://www.oracle.com/technetwork/java/javase/downloads/index.html</a></p>
</div>
<div class="paragraph">
<p>and, download the file.</p>
</div>
<div class="paragraph">
<p>To install, select <strong>Tools &gt; Java Platforms</strong> from the menu bar and, in the <strong>Java Platform Manager</strong> window select the <strong>Javadoc</strong> tab and click <strong>Add ZIP/Folder&#8230;&#8203;</strong>. Navigate to the download file, select and then click the <strong>Add ZIP/Folder</strong> button, finally click <strong>Close</strong>.</p>
</div>
</div>
<div class="sect2">
<h3 id="_generating_javadoc_for_a_project"><a class="anchor" href="#_generating_javadoc_for_a_project"></a>Generating Javadoc for a Project</h3>
<div class="paragraph">
<p>You can generate compiled Javadoc documentation for your project based on Javadoc comments that you have added to your classes.</p>
</div>
<div class="paragraph">
<p>To generate Javadoc documentation for a project:</p>
</div>
<div class="paragraph">
<p>From the <strong>Projects</strong> window select the <strong>MyLib</strong> project node then select <strong>Run &gt; Generate Javadoc (MyLib)</strong> from the menu bar.</p>
</div>
<div class="paragraph">
<p>The generated Javadoc is added to the <code>dist</code> folder of the project. In addition, the IDE opens a web browser that displays the Javadoc.</p>
</div>
</div>
</div>
</div>
<section class='tools'>
<ul class="menu align-center">
<li><a title="Facebook" href="https://www.facebook.com/NetBeans"><i class="fa fa-md fa-facebook"></i></a></li>
<li><a title="Twitter" href="https://twitter.com/netbeans"><i class="fa fa-md fa-twitter"></i></a></li>
<li><a title="Github" href="https://github.com/apache/netbeans"><i class="fa fa-md fa-github"></i></a></li>
<li><a title="YouTube" href="https://www.youtube.com/user/netbeansvideos"><i class="fa fa-md fa-youtube"></i></a></li>
<li><a title="Atom Feed" href="https://netbeans.apache.org/blogs/atom"><i class="fa fa-mf fa-rss"></i></a></li>
<li><a title="Slack" href="https://tinyurl.com/netbeans-slack-signup/"><i class="fa fa-md fa-slack"></i></a></li>
<li><a title="Issues" href="https://github.com/apache/netbeans/issues"><i class="fa fa-mf fa-bug"></i></a></li>
</ul>
<ul class="menu align-center">
<li><a href="https://github.com/apache/netbeans-antora-tutorials/edit/main/modules/ROOT/pages/kb/docs/java/javase-intro.adoc" title="See this page in github"><i class="fa fa-md fa-edit"></i> See this page in GitHub.</a></li>
</ul>
</section>
</article>
</div>
<div class='grid-container incubator-area' style='margin-top: 64px'>
<div class='grid-x grid-padding-x'>
<div class='large-auto cell text-center'>
<a href="https://www.apache.org/">
<img style="height: 60px" title="Apache Software Foundation" src="../../../../../../_/images/asf_logo_wide.svg" />
</a>
</div>
<div class='large-auto cell text-center'>
<a href="https://www.apache.org/events/current-event.html">
<img style="width:234px; height: 60px;" title="Apache Software Foundation current event" src="https://www.apache.org/events/current-event-234x60.png"/>
</a>
</div>
</div>
</div>
<footer>
<div class="grid-container">
<div class="grid-x grid-padding-x">
<div class="large-auto cell">
<h1><a href="../../../../../../front/main/about">About</a></h1>
<ul>
<li><a href="../../../../../../front/main/community/who">Who's Who</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="https://www.apache.org/security/">Security</a></li>
</ul>
</div>
<div class="large-auto cell">
<h1><a href="../../../../../../front/main/community">Community</a></h1>
<ul>
<li><a href="../../../../../../front/main/community/mailing-lists">Mailing lists</a></li>
<li><a href="../../../../../../front/main/community/committer">Becoming a committer</a></li>
<li><a href="../../../../../../front/main/community/events">NetBeans Events</a></li>
<li><a href="https://www.apache.org/events/current-event.html">Apache Events</a></li>
</ul>
</div>
<div class="large-auto cell">
<h1><a href="../../../../../../front/main/participate">Participate</a></h1>
<ul>
<li><a href="../../../../../../front/main/participate/submit-pr">Submitting Pull Requests</a></li>
<li><a href="../../../../../../front/main/participate/report-issue">Reporting Issues</a></li>
<li><a href="../../../../../../front/main/participate/#documentation">Improving the documentation</a></li>
</ul>
</div>
<div class="large-auto cell">
<h1><a href="../../../../../../front/main/help">Get Help</a></h1>
<ul>
<li><a href="../../../../../../front/main/help/#documentation">Documentation</a></li>
<li><a href="../../../../../../wiki/main/wiki">Wiki</a></li>
<li><a href="../../../../../../front/main/help/#support">Community Support</a></li>
<li><a href="../../../../../../front/main/help/commercial-support">Commercial Support</a></li>
</ul>
</div>
<div class="large-auto cell">
<h1><a href="../../../../../../front/main/download">Download</a></h1>
<ul>
<li><a href="../../../../../../front/main/download">Releases</a></li>
<li><a href="https://plugins.netbeans.apache.org/">Plugins</a></li>
<li><a href="../../../../../../front/main/download/#_daily_builds_and_building_from_source">Building from source</a></li>
<li><a href="../../../../../../front/main/download/#_older_releases">Previous releases</a></li>
</ul>
</div>
</div>
</div>
</footer>
<div class='footer-disclaimer'>
<div class="footer-disclaimer-content">
<p>Copyright &copy; 2017-2025 <a href="https://www.apache.org">The Apache Software Foundation</a>.</p>
<p>Licensed under the Apache <a href="https://www.apache.org/licenses/">license</a>, version 2.0</p>
<div style='max-width: 40em; margin: 0 auto'>
<p>Apache, Apache NetBeans, NetBeans, the Apache feather logo and the Apache NetBeans logo are trademarks of <a href="https://www.apache.org">The Apache Software Foundation</a>.</p>
<p>Oracle and Java are registered trademarks of Oracle and/or its affiliates.</p>
<p>The Apache NetBeans website conforms to the <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Apache Software Foundation Privacy Policy</a></p>
</div>
</div>
</div>
<script src="../../../../../../_/js/vendor/lunr.js"></script>
<script src="../../../../../../_/js/search-ui.js" id="search-ui-script" data-site-root-path="../../../../../.." data-snippet-length="100" data-stylesheet="../../../../../../_/css/search.css"></script>
<script async src="../../../../../../search-index.js"></script>
<script src="../../../../../../_/js/vendor/jquery.min.js"></script>
<script src="../../../../../../_/js/vendor/what-input.min.js"></script>
<script src="../../../../../../_/js/vendor/foundation.min.js"></script>
<script src="../../../../../../_/js/vendor/jquery.colorbox-min.js"></script>
<script src="../../../../../../_/js/netbeans.js"></script>
<script>
$(function(){ $(document).foundation(); });
</script>
<script src="../../../../../../_/js/vendor/highlight.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('pre code').forEach((el) => {
hljs.highlightElement(el);
});
});
</script>
</body>
</html>