NetBeans/JDK on MAC

JDK Installation

The JDK installation file can be obtained from the Oracle website with download page:
http://www.oracle.com/technetwork/java/javase/downloads (look for Java SE version 8)
The installation is simple: open the .dmg installation file and click on the .pkg file within. Verify the installation by opening the Terminal from the System Utilities, and at the terminal prompt type:
$ java -version
$ javac -version
to verify that the correct JDK version is in use.

Netbeans Installation

NetBeans is Oracle's community-based Integrated Development Environment (IDE) for a variety of software development interests including Java, Php, C/C++, etc. It requires a JDK installation. The home and download pages are these:
http://netbeans.org
http://netbeans.org/downloads/8.2 (to get version 8.2)

The download link on the home page currently points to Apache/NetBeans, version 10.0.

The download I prefer is:
netbeans-8.2-javase-macosx.dmg

Forcing NetBeans to use JDK1.8

NetBeans on MAC OS X uses a version of JDK in some non-explicit way, and it's not always what you want. Usually it's based on the the most recent JDK installation. So if you installed JDK 11, NetBean8.2 will not work without making the configuation file edit suggested in this site:
http://wiki.netbeans.org/FaqMacJdkHome
Open a terminal shell and execute this command:
$ /usr/libexec/java_home -V
You'll get a listing of all installed JDKs; look for JDK 8 installations ("Java SE 8"). If you don't have one, then download a JDK 8 version and install it. Each JDK version should have an associated JDK home directory, which we'll assume the one corresponding to jdk1.8.0_8u202:
/Library/Java/JavaVirtualMachines/jdk1.8.0_8u202.jdk/Contents/Home
Then edit the following file (using nano):
$ sudo nano /Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf 
Scroll down the file, looking for the line:
#netbeans_jdkhome="/path/to/jdk"
Replace it by the following line, substituting the home directory you saw above (get the version right):
netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_8u202.jdk/Contents/Home"
Exit nano, saving the changes and start NetBeans8.2. It should work!

Personalize NetBeans

I recommend spending some time personalizing NetBeans' settings.

Author and License

NetBeans automatically adds some level of documentation to Java (and other types of) files it generates; in particular Licensing and Author information. The licensing information is not particularly revelant to our needs, but setting the user name is important.
  1. Set the user name which will be generated automatically in every class file. Go to Tools ⇾ Templates ⇾ Settings. Edit the file, setting the "user" variable.
    user = Your Name
    
  2. Next, get rid of the Licensing information. Go to Tools ⇾ Templates ⇾ Licenses.

    Save the current "Default License" by clicking on it and selecting Duplicate, thereby creating a copy
    Default License 1
    Here is the current content of the license file:

    Default License
    <#if licenseFirst??>
    ${licenseFirst}
    </#if>
    ${licensePrefix}To change this license header, choose License Headers ...
    ${licensePrefix}To change this template file, choose Tools | Templates
    ${licensePrefix}and open the template in the editor.
    <#if licenseLast??>
    ${licenseLast}
    </#if>
    DO NOT DELETE THIS FILE! Simply select the content and delete it, or replace it by something more meaningful to you.

Source formatting

NetBeans has a very useful feature called source formatting accessible via Source ⇾ Format. By default, it will format the entire file. If a region is selected, it will format the region only. It is a good idea set these the way you like.
  1. Select Tools ⇾ Options, or on the MAC: Edit ⇾ Preferences.
  2. Choose Editor and then the Formatting tab.
  3. From the Language selection, choose All Languages (we're only using Java, but these settings are useful across the board). Leave the "Expand Tabs to Spaces" checked and set these:
    Number of Spaces per indent:   2
    Tab Size:                      4
    
  4. From the Language selection, choose Java Set this:
    Continuation Indentation Size: 4
    
  5. Choose the Alignment category. In the New Lines section, check the checkboxes for these:
    "else"
    "while"
    "catch"
    "finally"

Hello World Program

NetBeans creates directories called src which consist of one or more package of Java source files along with other types of support files. The compiled classes are kept in a separate build directory.

To create a simple "Hello World" program, start up NetBeans and follow the steps below.
  1. Select File ⇾ New Project
  2. In the New Project window, select the Java category, and choose Java Application, then Next.
  3. Choose the project name HelloWorld. The other settings have default values which you probably want to use. The project location cannot be an existing directory. NetBeans also pre-checks the box Create Main Class. Leave it checked. Click Finish.
  4. In the left-hand window there you can observe three views of the netbeans contents: Projects, Files, Services. For the most part you can work from the Projects view. In the Projects window you will see the file HelloWorld.java as part of the automatically-created helloworld package.
  5. Go to the Files view and observe the structure which NetBeans creates. The src folder is meant to hold all the source packages. The HelloWorld.java file is in a package directory HelloWorld within the src folder.

  6. Within the public static void main function, type
    System.out.println("Hello World");
    Observe the various syntactic assists which the editor offers when you pause after typing a ".".
  7. Select File ⇾ Save (or Ctrl-S) to save.
  8. There are several ways to compile and run this application. One way is to right-click on HelloWorld.java and select Run File from the popup menu. Look for the output in the Output window at the bottom.

  9. Another way to build and run the project is by selecting Run ⇾ Cean and Build Project or Shift+F11. This operation goes a step further and archives the compiled classes into the jar file HelloWorld.jar found in the newly created dist directory. Afterwards, select Run ⇾ Run Project or F6, or the button.


© Robert M. Kline