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
supportsAutomaticGraphicsSwitching
attribute 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
jvmversion
attribute is set, the default version is now1.4+
- removed deprecated
growboxintrudes
attribute - removed deprecated
liveresize
attribute - removed deprecated
smalltabs
attribute
- if no
- Updated HelloWorld example to show JVM details, classpath and mainArgs
- Support for Java 9+ in
jvmversion
attribute
- Merged changes from tofi86/Jarbundler into official release
- optional
contentSize
attribute (for Plist keyNSPreferencesContentSize
) - optional
useJavaXKey
attribute (for universalJavaApplicationStub support) - optional
allowmixedlocalizations
attribute (for Plist keyCFBundleAllowMixedLocalizations
) - optional
copyright
attribute (for Plist keyNSHumanReadableCopyright
) - removed deprecated
aboutmenuname
attribute (useshortname
attribute instead) - removed deprecated
infostring
andshortinfostring
attributes (usecopyright
attribute instead)
- optional
- optional
highResolutionCapable
attribute (for Plist keyNSHighResolutionCapable
) - optional
LSApplicationCategoryType
attribute (for Plist keyLSApplicationCategoryType
) - optional
SUPublicDSAKeyFile
attribute (for Plist keySUPublicDSAKeyFile
)
Take a look at ./docs/index.html
Licensed under Apache License v2.0
.