This DrJava-based Java programming environment is no longer being supported(because DrJava in no longer being actively developed and DrJava is incompatible with Java 11).It has been replaced by the following IntelliJ-based programming environment forMac OS X.
This document instructs you on how to set up our Java programming environment for your Mac OS X computer. It also provides a step-by-step guide for creating, compiling, and executing a Java program using either DrJava or Terminal.All of the software used is freely available.
You will need a Mac runningMac OS X 10.8 (Mountain Lion) to Mac OS X 10.13 (High Sierra).
Installation Instructions for Kinetic in OS X. This page describes how to install ROS Kinetic on OS X. OS X is not officially supported by ROS and the installation might fail.
Our installer downloads, installs, and configures the Java programming environment you will be using, including DrJava, the textbook libraries, and the Terminal.
Now you are ready to write your first Java program.You will develop your Java programs in an application called DrJava.DrJava features many specialized programming tools including syntax highlighting,bracket matching, auto indenting, and line numbering.
HelloWorld.java
.The filename is case sensitive and must exactly match the name of theclass in the Java program.
It is now time to convert your Java program into a form more amenable for execution on a computer. To do this, click the Compile button.If all goes well, you should see the following message in the Compiler Outputpane at the bottom:
If DrJava complains in some way, you mistyped something.Check your program carefully, using the error messages in the Compiler Output paneas a guide.
Now it is time to run your program. This is the fun part.
The command-line provides capabilities beyond those available in DrJava,including redirection and piping.You will type commands in an application called the Terminal.
~
is shorthand for your home directory /Users/username
;the name machine
will be replaced by the name of your machine;the name username
will be replaced by your username.1.8
for the Java version number, but the rest is not critical.1.8
for the Java version number, but the rest is not critical.You will use the javac
command to convert your Java program into a form more amenable for execution on a computer.
HelloWorld.java
,say /Users/<username>/intros/hello
,by typing the cd
(change directory) commands below:javac
command below:Assuming the file HelloWorld.java
is in the current working directory,you should see no error messages.javac-algs4
instead.For example, to compile TestAlgs4.java,which uses our standard drawing library,the auto-installer issues the following command:At this time,javac-cos226
andjavac-coursera
are equivalent tojavac-algs4
.
You will use the java
command to execute your program.
java
command below.You should see the output of the program.java-algs4
instead. For example, to test standarddrawing and standard audio, type the following two commands:At this time,java-cos226
andjava-coursera
are equivalent tojava-algs4
.
You can useFindbugs,PMD,andCheckstyleand to check the style of your programs and identify common bug patterns.
.class
files.Here is a list ofbug descriptions..java
file ora directory containing one or more .java
files.Here is a list of bug patterns..java
files.Here is a list ofavailable checks.I previously used the introcs.app installerfrom the textbook Computer Science: An Interdisciplinary Approach.Should I use the algs4.app installer?Yes, we recommend using the algs4.app installer because it will installalgs4.jar
, as well as the corresponding commands javac-algs4
and java-algs4
.
How long should the installer take?Once downloaded, the Oracle Java installer should take about 10 seconds andthe algs4.app installer should take about 20 seconds.If you have virus detection software running (such as McAfee Endpoint), eachcould take 5–10 minutes (or more).
The installer didn’t work on my machine. What should I do?Please read the next few Q+As. If these don’t resolve the issue,please contact a staff member to identify what went wrong.
When I run the installer, I get the error message“bash: /Volumes/Macintosh: No such file or directory.”Your user account and OS must be on the same volume.
When I run the installer, the Terminal windows just waits after asking for a password.But, I don’t even have a password-enabled account.You must have a non-blank password.Here are instructions forresetting a user’s password.
When I run the installer, I get an error like “bash: /private/var/folders/70/n8stth1d1x33hrw8n07kf1280000gn/T/AppTranslocation/45FC25B7-17E3-46DF-AC27-9A7EF56DDFD3/d/algs4.app/Contents/Resources/launcher.sh: No such file or directory.” What should I do?This is likely due to OS X Sierra path randomization.Use the Finder to move algs4.app
to some other folder and try again.
When I run the installer, I receive the following error after I enter my password:“bash: /???/Users/<username>/Desktop/algs4.app/Contents/Resources/launcher.sh: No such file or directory.”We’re not sure what causes this (but we think it is related to users with dual-boot systems / USB drives).Try opening a Terminal windows and typing
What does the installer do?In short, it downloads, installs, and configures Checkstyle, Findbugs, DrJava, and our textbook libraries. Here is a more detailed list:
/Users/<username>/.drjava
.Note that this will overwrite any existing .drjava
configuration file.Why does the installer need my password?The installer copies files into/usr/local/bin
and/usr/local/algs4
,which require elevated privileges.
How do I completely uninstall algs4.app?
/usr/local/algs4
./Applications/DrJava.app
./Users/<username>/.drjava
./usr/local/bin/javac-{algs4,cos226,coursera}
/usr/local/bin/java-{algs4,cos226,coursera}
/usr/local/bin/findbugs-{algs4,cos226,coursera}
/usr/local/bin/pmd-{algs4,cos226,coursera}
/usr/local/bin/checkstyle-{algs4,cos226,coursera}
What happens if I rerun the installer?It will re-download, install, and configureFindbugs, PMD, Checkstyle, DrJava, and our textbook libraries.
Can I use a different version of Java?Any version of Java 8 (either Oracle or OpenJDK) should work fine.Note that neither Java nor Findbugs work with Java 9.
I have both Java 8 and Java 9 installed, but the default version is Java 9. How doI change the default version back to Java 8?To disable Java 9, type the following commands in the Terminal:
You should still be able to use Java 9 by specifying the full path tojavac
and java
, e.g.,/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin/javac
. Why I try to run DrJava, I get the following error message. How should I proceed?
Are you sure that you are using the version of DrJava that was installedby our auto-installer (and not downloaded from the DrJava website)?We suggest deleting any older versions of DrJava andusing the one that the auto-installer copied to the/Applications
directory.Can I use a different IDE?Yes you can use another IDE (such as Eclipse) butyou will have to configure the IDE properties yourself (such as the classpath). Reset Interactions;From the Terminal, type Ctrl-c
.
When using standard input, how do I signify that there is no more data?If you are entering input from the keyboard, type Ctrl-d
for EOF (end of file)from either DrJava or the Terminal.-->
When I compile or execute a program in Terminal that uses one of thetextbook libraries, I get an error that it cannot find the library. How can I fix this?Be sure that you are using the wrapper scripts /usr/local/bin/javac-algs4
and /usr/local/bin/java-algs4
.
Which shell should I use in the Terminal?The default shell in Mac OS X is bash, but feel free to use a different one if you prefer.
What’s the sha256sum of algs4.zip?483786a1197b7282b92c846667e847cd31a97a4e42bca71f95e21a2ce668fc33
Last modified on August 14, 2019.
Copyright © 2000–2019Robert SedgewickandKevin Wayne.All rights reserved.