Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.7: Resurrect older Java.app's without Rosetta System 10.7
With the death of Rosetta in Lion, many older bundled Java applications (.app's) no longer launch. A quick 'stub' transplant can often bring these apps back to life.

Many MacOS-bundled Java applications use Apple's own JavaApplicationStub as their binary to allow packaging in a proper .app bundle while still running Java code in JAR files. Since this stub binary is common to all such applications, many Java apps (even recently released ones) are bundled with a PPC-only version of this stub. These apps show up with the dreaded 'international symbol for time to upgrade your software' on their icon and give the 'You can't open the application Foo.app because PowerPC applications are no longer supported,' error when launched.

Fortunately, because this stub binary is common to all applications, you can safely replace the old PPC-only copy inside the app bundle with an updated copy that contains Intel code. Once the transplant is complete, the applications should launch and run just fine under Lion.

First, you'll want to check that your app is indeed suffering from this exact problem. If you right-click the app bundle and choose 'Show Package Contents,' you'll see a Contents folder inside the bundle. Inside Contents is a folder called MacOS, and in there you should find the binary. If it's named 'JavaApplicationStub,' you should be good to go. If it's named something else, it's still possible that it's a renamed copy of JavaApplicationStub, but you may run into problems.

Rename the existing binary to something else, just in case (JavaApplicationStub-ppc perhaps), then copy the new version from:

/System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub.

If the original binary had a different name, you should use that exact name instead of JavaApplicationStub. Close out of the app bundle, and you should be done.

It does seem that Finder and/or LaunchServices hold on to the status of a binary even after the transplant is complete. I've found that renaming or moving the app bundle or force-quitting Finder (or plain-old rebooting) will cause the app to be re-parsed and allow it to launch.

Note that the JavaApplicationStub included in Lion is i386 and x86_64 ONLY, so if you somehow share app bundles with a PPC version of MacOS, this procedure will make the Java app no longer useable on PPC. There are Universal versions of JavaApplicationStub floating around, and it's possible to cook up your own using the lipo command, but the odds are if you're reading a Lion tip, that's the least of your worries.

[crarko adds: I haven't tested this one.]
    •    
  • Currently 4.73 / 5
  You rated: 4 / 5 (11 votes cast)
 
[11,246 views]  

10.7: Resurrect older Java.app's without Rosetta | 9 comments | Create New Account
Click here to return to the '10.7: Resurrect older Java.app's without Rosetta' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.7: Resurrect older Java.app's without Rosetta
Authored by: kbundies on Aug 12, '11 04:36:51PM
will this help to resurrect AppleWorks? So far I could not find that java.stub inside the Contents/MacOS/ Folder.
Edited on Aug 12, '11 04:37:33PM by kbundies


[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: tofergregg on Aug 12, '11 04:45:38PM

No, Appleworks is not written in Java.



[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: macosx4me on Aug 13, '11 05:52:59PM

Yowza ! Man... there's clinging to the past, and well... depending on fossils for your workflow :-)

If you really still *need* AppleWorks then run the pre-Mac OS X version under SheepShaver. It does work, but how reliable or stable it may be is your burden. At least it'll run !



[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: Brontojoris on Aug 12, '11 08:55:56PM

This is a great hint! More like this please!



[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: Perki on Aug 13, '11 06:03:39AM

Resurected my indispensable TimeSheet by Peter Riegersperger



[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: piper on Aug 13, '11 08:21:24PM

Excellent hint! Helped me get JDiskReport back up and running on my 13" MacBook Pro... I'm hoping I can use it to determine how I can whittle down 350GB of data onto my new MacBook Air's 250GB hard drive... wish me luck!



[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: kopf on Aug 14, '11 11:06:44AM

Just a tiny nag - the plural of app is apps.



[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: Neck on Aug 16, '11 05:31:28PM

Not sure how to access the app bundle for the application: DVD Database X or if that application has a Java stub inside it. It's a PPC application to store movies in it.
Would really love to be able to use that application in LION. Can anyone HELP, p l e a s e? THANKS!



[ Reply to This | # ]
10.7: Resurrect older Java.app's without Rosetta
Authored by: lugal on Nov 10, '11 04:54:31AM

Independently, I found the same solution--but when I came here to post it, I saw that aramis had beaten me to the punch by a couple months.

For anyone who's still wondering: this hint does indeed work. I've used it to resurrect Sirsi-Dynix Workflows and artSTOR Offline Image Viewer.



[ Reply to This | # ]