CorkyCorkyAnonymous 31 Aug 2012 23:21
I was puzzled by the fact that ALL DrJava Mac apps apparently break on most Macs running OS X 10.8 until I talked to Scott Warren, who is the resident Mac guru/software developer in the Rice Computer Science Department. From Scott, I learned that Apple has broken backward compatibility with many (most?) legacy apps UNLESS YOU CHANGE THE DEFAULT GATEKEEPER behavior. Starting with OS 10.8, all apps runnable under the default gatekeeping setting must contain a valid Apple registration identifying the source of the software for which Apple charges a modest (by commercial standards) fee for such a registration. See http://rogueamoeba.com/support/knowledgebase/?showArticle=MiscDeveloperID.
For the record, my experience with the OS X gatekeeper is a bit less benign than the commentary above suggests. On the student machines that I have seen (purchased by green underclassmen who don't much about operating systems in general, much OS X 10.8), an attempt to run a DrJava app that they just downloaded does not display any form of query regarding security policies. Instead, it simply declares that the app is corrupt and strongly recommends that the app be placed in the TRASH. It even includes a button on the pop-up window to dispose of the app.
There should be metaposting on this forum regarding OS X 10.8 stating:
IF YOU WANT TO RUN OPEN SOURCE APPS ON YOUR MAC (like DrJava), YOU MUST TURN OFF THE GATEKEEPER BY SETTING GATEKEEPING TO "ANYWHERE" OR YOU MUST EXPLICITLY OPEN THE APP BY RIGHT-CLICKING ON THE APP AND EXECUTING OPEN, which bypasses the gatekeeper.
It also appears that DrJava often (always?) cannot find the Java compiler for Java 7 on Max OS X. If you download the last official Apple version of the Java JDK (which is Version 6), DrJava will find the Java compiler from this JDK even if you run DrJava using Java 7. It appears that some aspect of the Java 7 compiler interface on OS X may be different than the standard interfaces on Windows and Linux machines (which are identical).
I agree with Mathias that Drjava runs properly on OS X 10.7 — provided that use the Java 6 JDK provided by Apple. If you use Java 7, you may need to download Java 6 in addition to get a compiler that DrJava can recognize.