In a better world, no one would have to use Java anymore. Sadly there are still university programs where people are expected to use Java. Rather than cast people into the world of Eclipse, here are instructions on how to get Xcode building Java. These instructions are current as of Xcode 4.6.2. You will need to download a JDK from somewhere.
This is a basic environment meant only for writing simple school programs. It has no debugger. Replace
1) In Xcode, File > New > New Project > Other > External Build System
2) Give it a meaningful name
3) File > New > New File > Other > Empty
4) Give it a Java-friendly name. In my example, use
5) Copy the contents below into the file and save.
6) File > New > New File > Other > Empty
7) Save as Makefile.
8) Copy the contents below into the file and save.
9) The "Run" (>) button should at least compile your Java now.
Now it gets tricky. You don't have to do the next part. You could just open a Terminal to your project directory and run java
9) Project > Scheme > Edit Scheme > Debug > Info tab
10) Executable > Other > type ^?g > type /usr/bin > choose java
11) Change Debugger to None
12) Arguments tab
13) For Arguments Passed on Launch, add $(TARGETNAME)
14) For Environment Variables, add CLASSPATH with a value of $(PROJECT_DIR)
15) For Expand Variables based on, use
16) Click the "Run" (>) button.
PS: I have no idea how to run the Java debugger in Xcode. But then, I have no idea how to run the Java debugger at all.
Here are some starter file contents:
HelloWorld.java:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
Makefile:
# A simple makefile for a Hello World Java program
# Define a makefile variable for the java compiler
JCC = javac
# Define a makefile variable for compilation flags
# The -g flag compiles with debugging information
JFLAGS = -g
# typing 'make' will invoke the first target entry in the makefile
# (the default one in this case)
default: $(subst .java,.class,$(wildcard *.java))
# this target entry builds the Average class
# the Average.class file is dependent on the Average.java file
# and the rule associated with this entry gives the command to create it
#
%.class : %.java
$(JCC) $(JFLAGS) $<
# To start over from scratch, type 'make clean'.
# Removes all .class files, so that the next make rebuilds them
#
clean:
$(RM) *.class
NOTE: Those indentations are true tab characters. Ugh!
Good luck on your class. Hopefully you can progress onto more complicated projects and eventually use a real language like Objective-C.
0 comments:
Post a Comment