I'm starting the process of packaging a Java-based application for
MacOS, and I'm wondering what the "preferred" way of organizing jars,
resources, etc. would be if you have more than just a standalone
application bundle. In my case, the application includes some network
services that run out of the same jars as the application itself. My
options would seem to be:
1) Install everything into /Applications/MyApp. Thus I'd have /
Applications/MyApp/MyApp.app, /Applications/MyApp/lib/
wholebunchofjars.jar, etc. The service configurations would go in /
Library/LaunchDaemons. Upside: if the user moves the .app folder,
things will still run, since the app and services will know to look
in /Applications/MyApp/lib.
2) Include everything except the launchd plist files in /Applications/
MyApp.app. This looks neater, but if the user moves the app bundle,
the services will no longer run
3) Create a framework in /Library/Frameworks/MyApp.framework, and put
all the libraries in there. Services and app will all look for their
jars in the framework directory, and I can even version things if I
want.
#3 would seem to be the best option, although it would be a bit more
work to maintain (possibly). Is it legit to have a "framework" even if
it's really just a place for me to dump my jars and such?