views:

218

answers:

3

How do i compile and run a program in java on my mac?

i'm new. also i downloaded a program that was sugested to me on here called text wrangler if that has any baring on the situation.

A: 

You need to make sure that a mac compatible version of java exists on your computer. Do java -version from terminal to check that. If not, download the apple jdk from the apple website. (Sun doesn't make one for apple themselves, IIRC.)

From there, follow the same command line instructions from compiling your program that you would use for java on any other platform.

Rob Lachlan
@rob, i think you underestimate how new i am at all this. COuld you please explain all that more simply.
David
+1  A: 

Download and install Eclipse, and you're good to go.
http://www.eclipse.org/downloads/

Apple provides its own version of Java, so make sure it's up-to-date.
http://developer.apple.com/java/download/


Eclipse is an integrated development environment. It has many features, but the ones that are relevant for you at this stage is:

  • The source code editor
    • With syntax highlighting, colors and other visual cues
    • Easy cross-referencing to the documentation to facilitate learning
  • Compiler
    • Run the code with one click
    • Get notified of errors/mistakes as you go

As you gain more experience, you'll start to appreciate the rest of its rich set of features.

polygenelubricants
what is eclipse?
David
+4  A: 

Compiling and running a Java application on Mac OSX, or any major operating system, is very easy. Apple includes a fully-functional Java runtime and development environment out-of-the-box with OSX, so all you have to do is write a Java program and use the built-in tools to compile and run it.

Writing Your First Program

The first step is writing a simple Java program. Open up a text editor (the built-in TextEdit app works fine), type in the following code, and save the file as "HelloWorld.java" in your home directory.

public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

For example, if your username is David, save it as "/Users/David/HelloWorld.java". This simple program declares a single class called HelloWorld, with a single method called main. The main method is special in Java, because it is the method the Java runtime will attempt to call when you tell it to execute your program. Think of it as a starting point for your program. The System.out.println() method will print a line of text to the screen, "Hello World!" in this example.

Using the Compiler

Now that you have written a simple Java program, you need to compile it. Run the Terminal app, which is located in "Applications/Utilities/Terminal.app". Type the following commands into the terminal:

cd ~
javac HelloWorld.java

You just compiled your first Java application, albeit a simple one, on OSX. The process of compiling will produce a single file, called "HelloWorld.class". This file contains Java byte codes, which are the instructions that the Java Virtual Machine understands.

Running Your Program

To run the program, type the following command in the terminal.

java HelloWorld

This command will start a Java Virtual Machine and attempt to load the class called HelloWorld. Once it loads that class, it will execute the main method I mentioned earlier. You should see "Hello World!" printed in the terminal window. That's all there is to it.

As a side note, TextWrangler is just a text editor for OSX and has no bearing on this situation. You can use it as your text editor in this example, but it is certainly not necessary.

William Brendel
this happened: Last login: Mon Mar 1 23:41:53 on ttys000david-allenders-macbook-pro:~ davidallender$ cd ~david-allenders-macbook-pro:~ davidallender$ javac Helloworld.javaerror: cannot read: Helloworld.java1 errordavid-allenders-macbook-pro:~ davidallender$ what did i do wrong?
David
It looks like you either saved the file in the wrong directory or saved it using an incorrect filename. Double check your home directory in the finder for a file named "HelloWorld.java". Case is also important here, so make sure it is called "HelloWorld.java", *not* "Hello**w**orld.java".
William Brendel
Ok. i followed your instructions better and everything worked. thank you for your help. i really appreciate it.
David
Glad I could help!
William Brendel