Bundled app launcher changes
greg.x.brown at oracle.com
Sat Feb 11 03:22:15 PST 2012
>> Why re-invent? The standard Java mechanism is to provide the class path in the main jar's manifest. Existing Ant tasks will already handle that. Why is anything more than pointing to the main jar needed? The manifest in the main jar can be used to figure out what resources to bundle and the relative locations they need to be placed in. While raw .class files in folders could be referenced, it is highly unusual for an application to be distributed that way.
> This means you'd have to intertwine process of creating a Manifest with the end deployment filesystem structure. This seems rational, however it does make adding/removing other classpath entries harder without reopening/repacking the main jar.
I actually see deployment via an executable JAR file and deployment via a Mac app bundle as two separate mechanisms, both of which can be supported by any app with minimal effort. In other words, there's no reason to impose the design of one on the other.
More information about the macosx-port-dev