JarBundler is a feature-rich Ant task which will create a macOS application bundle from a list of Jar files and a main class name.
You can add an icon resource, set various macOS native look-and-feel bells and whistles, and maintain your application bundles as part of your normal build and release cycle.
Project moved from http://sourceforge.net/projects/jarbundler/
Add the following dependency to your pom.xml file:
<dependency>
<groupId>com.ultramixer.jarbundler</groupId>
<artifactId>jarbundler-core</artifactId>
<version>3.3.0</version>
</dependency>Check the Releases page to get the latest distribution.
Take a look at ./docs/index.html (Currently outdated. Sorry.)
Run mvn clean install to build the project and push the JAR artifacts to your local maven repo. You can then use the SNAPSHOT version in your project.
To skip the GPG signing process (for maven central release) add -Dgpg.skip to your commandline.
- Massive code refactoring
- code formatting
- specify maven source encoding
- fix Ant build files
- run examples with a modern JavaApplicationStub (universalJavaApplicationStub)
- Updates to docs and examples
- Optional
supportsAutomaticGraphicsSwitchingattribute which defaults totrue(for Plist keyNSSupportsAutomaticGraphicsSwitching)- PullRequest !14, thanks to Björn Kautler (@Vampire) for his contribution!
- Update Ant from 1.9.3 to 1.9.14
- Bugfix: JarBundler on Windows created a classpath with backward slashes which broke the Info.plist file on macOS
\in classpath are now replaced with/
- Remove support for Java 1.3
- if no
jvmversionattribute is set, the default version is now1.4+ - removed deprecated
growboxintrudesattribute - removed deprecated
liveresizeattribute - removed deprecated
smalltabsattribute
- if no
- Updated HelloWorld example to show JVM details, classpath and mainArgs
- Support for Java 9+ in
jvmversionattribute
- Merged changes from tofi86/Jarbundler into official release
- optional
contentSizeattribute (for Plist keyNSPreferencesContentSize) - optional
useJavaXKeyattribute (for universalJavaApplicationStub support) - optional
allowmixedlocalizationsattribute (for Plist keyCFBundleAllowMixedLocalizations) - optional
copyrightattribute (for Plist keyNSHumanReadableCopyright) - removed deprecated
aboutmenunameattribute (useshortnameattribute instead) - removed deprecated
infostringandshortinfostringattributes (usecopyrightattribute instead)
- optional
- optional
highResolutionCapableattribute (for Plist keyNSHighResolutionCapable) - optional
LSApplicationCategoryTypeattribute (for Plist keyLSApplicationCategoryType) - optional
SUPublicDSAKeyFileattribute (for Plist keySUPublicDSAKeyFile)
Take a look at ./docs/index.html
Licensed under Apache License v2.0.