<p>I want to create a Java application bundle for Mac without using Mac.</p>

<p>According to <a href="http://developer.apple.com/documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html#//apple_ref/doc/uid/TP40001885-208447-TPXREF120" rel="noreferrer">Java Deployment Options for Mac OS X</a>, I can do this by using Xcode, Jar Bundler, or from the command line. Once the files and folders are set up, all I need for the command line method is to call /Developer/Tools/SetFile. Is there a SetFile clone on Linux or Windows? If not, do I have to get a Mac?</p>

[{'answer_id': 39309, 'author': 'alexmcchessers', 'author_id': 998, 'author_profile': 'https://Stackoverflow.com/users/998', 'pm_score': 4, 'selected': True, 'text': '<p>A Java application bundle on OS X is nothing more than a directory containing your .jars and a number of configuration files.  The SetFile tool sets a custom HFS filesystem property on the directory to tell finder that it is an app, but giving it a ".app" extension serves the same purpose.  I don\'t think there\'s anything stopping you from building one on, say, Windows, though of course you have no way of testing that it works, but if you are able to test it at least once on a real Mac, you could then conceivably update the .jars within it on Windows to reflect code changes without too much difficulty.</p>\n\n<p>Have a look at the <a href="http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/CFBundles.html" rel="nofollow noreferrer">Bundle Programming Guide</a> for more info.</p>\n'}, {'answer_id': 39356, 'author': 'Johan Lübcke', 'author_id': 4220, 'author_profile': 'https://Stackoverflow.com/users/4220', 'pm_score': 0, 'selected': False, 'text': '<p>One way is to generate a zip file with the App using for example Ant. In ant you can specify that the file in Contents/MacOS should have execute-permissions using something like filemode="755".</p>\n'}, {'answer_id': 39362, 'author': 'Craig.Nicol', 'author_id': 1404, 'author_profile': 'https://Stackoverflow.com/users/1404', 'pm_score': 0, 'selected': False, 'text': '<p>Having worked on the Mac port of <a href="http://nite.sourceforge.net" rel="nofollow noreferrer">NITE</a>, I can say that jar packages for other platforms should work equally well on Mac. I would still recommend finding a mac for testing (or even announcing mac support was in beta) as we discovered a few mac-only quirks during the port (to go with the windows- and linux- only quirks we\'d already discovered)</p>\n'}, {'answer_id': 40210, 'author': 'Jay Stramel', 'author_id': 3547, 'author_profile': 'https://Stackoverflow.com/users/3547', 'pm_score': 0, 'selected': False, 'text': '<p>Technically, you don\'t need a Mac.  Applications in OS X just require a <a href="http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/Concepts/BundleAnatomy.html#//apple_ref/doc/uid/20001119" rel="nofollow noreferrer">specific folder structure</a> and an <a href="http://developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigFiles.html#//apple_ref/doc/uid/20002091-CJBJIEDH" rel="nofollow noreferrer">XML file</a>.  However, the Mac has a really nice tool called <a href="http://developer.apple.com/documentation/Java/Conceptual/Jar_Bundler/Introduction/chapter_1_section_1.html" rel="nofollow noreferrer">Jar Bundler</a>.  In addition to setting up the bundle directories and XML file, it creates a C executable that launches your java application via JNI.  This is nice because the process name matches the application name.</p>\n\n<p>I believe that you could have someone generate an application bundle for you once, and then check in the files to your project.  At build time, all you would need to do is copy your jar files to the appropriate locations and maybe update the XML file.</p>\n'}]
['https://Stackoverflow.com/questions/39194', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/3827/']