Make Minecraft (or Java Preferences.app) run on Java 7 Minecraft (and probably some other applications) won't run on a System with the preinstalled Java removed and the current JDK 7 installed. I already symlinked the Java 6 directory to the current one. Other applications like Adobe Illustrator that need Java work with this fix.
The error message states no compatible version of java 1.5+ is available. 



What is a reasonable explanation why that application runs on Java 7 on Linux and Windows but not on Mac, and what can be done for it to do so?

Output of /usr/libexec/java_home -V:

Matching Java Virtual Machines (4):
    1.7.0_17, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.7.0_17, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
    1.7.0_17, x86_64:   "Java SE 7" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.7.0_17, x86_64:   "Java SE 7" /System/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home


/System/Library/Java/JavaVirtualMachines is a Symlink to the /Library/ one, and 1.6.0.jdk is a symlink to jdk1.7.0_17.jdk, terefore only one JDK is being installed.
What is the terminal output stating the error?

Looking at this discussion:

http://www.linuxquestions.org/questions/linux-games-33/minecraft-not-running-on-java-7-a-929983/

The error output indicates that the Minecraft Java binaries are linked against 32bit versions. Looks like you have 64bit installed. Does your Java7 installation support 32bit?

Also, are you running the latest Minecraft code/mod updates/etc?

Edit:

Given the error message in the answer, it lead me to this:

2 things are needed to be changed to make it run on OSX x64 and this is what i done.. 

1) add in x86_64 to the Info.plist as follows: 
JVMArchs 

i386 
x86_64 
ppc 

2) Set the execute flag on the JavaApplicationStub file 
chmod +x /Applications/Minecraft.app/Contents/MacOS/JavaApplicationStub 

now it works :)


That was found at:

https://getsatisfaction.com/mojang/topics/osx_x86_64_minecraft_execution_fixed

Via:

http://www.minecraftforum.net/topic/487766-fixed-lsopenurlswithrole-failed-with-error-10810/

Regarding checking java version:

$ java -version
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode)


Indicates 64bit server VM in mixed mode. When testing with '-d32' and 'd64', the java runtime should report back with a help screen vs erroring out, though this doesn't rule out 32bit/64bit libraries in the paths that are missing.

java -d32

java -d64


But the chmod above might help more. 

Note, I don't use Minecraft.app to start up MineCraft when I run it on a Mac. I do the following:

My wrapper script:

#!/usr/bin/env bash
java -Xmx3048M -Xms2024M -cp "$1" net.minecraft.LauncherFrame 


And I run it by:

./run-minecraft minecraft.jar


I have the parameter because sometimes, I like running 3rd party wrappers around the MineCraft application itself.

AddOn:

Btw, this is the alternate method I use to fire up MineCraft, since MineCraft.app on the Mac has never worked reliably for me.


http://minecraft.net/download
Download the JAR file for "Minecraft for Linux / Other"
Test firing up with: 

java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame