java.library.path fix for MacOS X (7145798)

Greg Brown greg.x.brown at
Mon Feb 20 06:00:05 PST 2012

Hi all,

I just wanted to point out that we have not made any attempt to synchronize code between the XCode project and the Ant task yet. Only the Ant task contains the newer launcher code that has been updated to use JLI_Launch(). We still need to figure out what we want to do with the XCode project moving forward. There is some concern that we may actually *need* to use XCode to generate signed app bundles, though I'd like to avoid that if possible. We need to look into this in more detail.

I also wanted to note that the launcher bundled by the Ant task does not expand $JAVAROOT variables. It is hard-coded to look for the following:
- Individual class files in /Contents/JavaVM/Classes
- JAR files in /Contents/JavaVM
- Native libraries in /Contents/JavaVM

The Ant task copies the contents of each <classpath> and <nativeLibrary> entry in your build script to these locations in the generated bundle.

Michael - have you tried building your app bundle with the Ant task? If not, can you try that and let me know how it goes?


On Feb 19, 2012, at 1:50 PM, Michael Hall wrote:

> On Feb 19, 2012, at 11:37 AM, Mike Swingler wrote:
>> Sure. Anything except plain "Java" will work for that Info.plist key, technically. "JavaRuntime" is as specific as a descriptor as I've heard so far.
> Well the two being in sync would be a technical concern in changing the value. Change the launch program and it'd be fine. What you call it isn't what doesn't work right now and I'm not so concerned with. Normally the app bundle is sort of opaque anyhow. As far as name goes I'd be fine with whatever. 
> Having the test or demo application include something that exercises these things or even having separate JUnit or other tests that try all the plist key values would still seem to be a good idea to me. Greg indicated that he did some testing. If the SwingSet demo is it, it's a little sparse for exercising possible options. But, the plist included is absent almost any special handling. Greg, had posted a ant classpath tag to the system location for the SwingSet demo but I didn't see where even that is in the application. 
> The XCode project doesn't hang for me which is much improved, but without some sort of effort my part still doesn't build. The errors seem like what I've seen related to the XCode and Java update out of sync but not positive. I can track that down when I have a chance. Otherwise I would of tracked down further where the two have interdependencies, which is the difficulty I reported, or at least strongly suspected.

More information about the macosx-port-dev mailing list