After the latest upgrade starting several of my Java-based
applications fails
(when I have changed the plist to say 1.6+). This includes
IntelliJ, Install4J
and DbVisualizer.
[...]
Why doesn't existing JavaAppLauncher's work with latest Java 1.6? I
know that I can
copy /System/Library/Frameworks/JavaVM.framework/Resources/MacOS/
JavaApplicationStub,
but this sound like a problem *may* users will run into after
upgrading to Update 4?
This is part of a change to the double-clickable app launching
policy (which we explained in detail in the developer preview
release notes). To enabled the Finder's "Run in 32-bit mode"
checkbox for Java apps, and to make the transition to 64-bit by
default easier, we've modified the JavaApplicationLauncher.framework
to only launch application's in the architectures they have present
in their JavaApplicationStub.
This was done now for a variety of reasons: until Update 4, the
JavaApplicationStub and all apps that were bundled with it were 32-
bit Universal. Very few apps required 1.6 in their Info.plist, so
now was the best time to switch this policy. Applications with PPC
or PPC/i386 stubs would continue to run in 32-bit mode indefinitely,
until they rebundled after Update 4, which would then opt them into
launching 64-bit (with the ability to downshift to 32-bit using the
checkbox Finder's Get Info window). This simplifies the rule down to
"if you don't have the architecture present, we won't launch you in
it", which is exactly the same rule for launching native Cocoa apps.
The thinking is that if you haven't rebundled, you likely haven't
ever considered that you'd be run in 64-bit mode (and when users
have dragged Java SE 6 to the top of their Java Preferences, they
found that some of their applications stopped working). By
preventing apps from being launched in 64-bit if they haven't
rebundled, we can maintain the widest compatibility, with a minor
impact on developers (and actually let them have a say in what their
version and architecture requirements are).
In your case, since you are manually modifying the Info.plist to
1.6+, replacing the JavaApplicationStub is also required, since
IntelliJ 7 was likely not expecting to be launched in 64-bit, and
may contain some 32-bit only native libraries.
Hope this explains what you are seeing,
Mike Swingler
Java Runtime Engineer
Apple Inc.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden