Skip to content
This repository was archived by the owner on Feb 4, 2023. It is now read-only.

Commit 76222cd

Browse files
committed
update Readme to point to new JarBundler project
Original Jarbundler project (http://informagen.com/JarBundler/) changed maintainership and has been reworked as a Maven and ANT task (https://github.com/UltraMixer/JarBundler/) All changes from my unofficial JarBundler fork (https://github.com/tofi86/Jarbundler) have been merged back to the new official project by the new project maintainer.
1 parent 3044d16 commit 76222cd

File tree

1 file changed

+14
-31
lines changed

1 file changed

+14
-31
lines changed

README.md

+14-31
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ Whilst developing some Java apps for Mac OS X I was facing the problem of suppor
2626
4. Starting with Mac OS X 10.10 *(Yosemite)*, app packages won't open up anymore if they contain the *deprecated* Plist `Java` dictionary. This isn't confirmed by Apple, but [issue #9](https://github.com/tofi86/universalJavaApplicationStub/issues/9) leads to this assumption:
2727
* Apple seems to declare the `Java` dictionary as *deprecated* and requires the old Apple Java 6 to be installed. Otherwise the app doesn't open.
2828
* If Java 7/8 is installed, Apple doesn't accept those java versions as suitable
29-
* Apple prompts for JRE 6 download even before the `JavaApplicationStub` is executed. This is why we can't intercept at this level and need to replace the `Java` dictionary by a `JavaX` dictionary.
30-
* This requires the use of my JarBundler fork (see below for more details)
29+
* Apple prompts for JRE 6 download even before the `JavaApplicationStub` is executed. This is why we can't intercept at this level and need to replace the `Java` dictionary by a `JavaX` dictionary key.
30+
* This requires to use the latest [JarBundler](https://github.com/UltraMixer/JarBundler/) version (see below for more details)
3131

3232
*So why, oh why, couldn't Oracle just use the old style of storing Java properties in `Info.plist` and offer a universal JavaApplicationStub?!* :rage:
3333

3434
Well, since I can't write such a script in C, C# or whatever fancy language, I wrote it as a shell script. And it works! ;-)
3535

36-
How it works
37-
------------
36+
How the script works
37+
--------------------
3838

3939
You don't need a native `JavaApplicationStub` file anymore...
4040

@@ -65,7 +65,7 @@ The WorkingDirectory is either retrieved from Apple's `Info.plist` key `Java/Wor
6565

6666
The name of the *main class* is also retrieved from `Info.plist`. If no *main class* could be found, an applescript error dialog is shown and the script exits with *exit code 1*.
6767

68-
Also, there is some *foo* happening to determine which Java version is installed. Here's the list in which order system properties are checked:
68+
There is some *foo* happening to determine which Java versions are installed – here's the list in which order system properties are checked:
6969

7070
1. system variable `$JAVA_HOME`
7171
2. `/usr/libexec/java_home` symlinks
@@ -78,37 +78,19 @@ What you need to do
7878
-------------------
7979

8080
Use whichever ANT task you like:
81-
* the opensource ["Jarbundler"](http://informagen.com/JarBundler/) *(not recommended anymore)*
82-
* my JarBundler [fork on github](https://github.com/tofi86/Jarbundler) which supports the newly introduced `JavaX` key *(recommended)*
81+
* the opensource ["JarBundler"](https://github.com/UltraMixer/JarBundler) *(recommended)*
82+
* or my [JarBundler fork](https://github.com/tofi86/Jarbundler) *(deprecated)*
83+
* _both support the newly introduced and recommended `JavaX` dict key_
8384
* Oracle's opensource ["Appbundler"](https://java.net/projects/appbundler)
8485
* or [*infinitekind*'s fork](https://bitbucket.org/infinitekind/appbundler/overview)
8586

86-
### Original JarBundler (v2.3) example
87-
*Might lead to compatibility issues. See below for details...*
88-
89-
Just place the `universalJavaApplicationStub` from this repo in your build resources folder and link it in your ANT task (attribute `stubfile`):
90-
```XML
91-
<jarbundler
92-
name="Your-App"
93-
shortname="Your Application"
94-
icon="${resources.dir}/icon.icns"
95-
stubfile="${resources.dir}/universalJavaApplicationStub"
96-
... >
97-
98-
</jarbundler>
99-
```
100-
101-
The ANT task will care about the rest...
102-
103-
You should get a functional Mac Application Bundle working with both Java distributions from Apple and Oracle **but with possible incompatibilities to Mac OS X 10.10:**
87+
### JarBundler (≥ v3.3) example
88+
Download the latest JarBundler release [from its github repo](https://github.com/UltraMixer/JarBundler).
10489

10590
:exclamation: **Attention:**
106-
> Using the "old" JarBundler <= v2.3 might result in [issue #9](https://github.com/tofi86/universalJavaApplicationStub/issues/9) *(Mac OS X 10.10 asking to install deprecated Apple JRE 6 instead of using a newer Java version)*
91+
> Using an older version of JarBundler (e.g. [old JarBundler v2.3](http://informagen.com/JarBundler/) or [new JarBundler ≤ v3.2](https://github.com/UltraMixer/JarBundler)) might result in [issue #9](https://github.com/tofi86/universalJavaApplicationStub/issues/9) *(Mac OS X 10.10 asking to install deprecated Apple JRE 6 instead of using a newer Java version)*
10792
>
108-
> If you don't want to care about compatibility issues between OS X and Java versions, better use my JarBundler fork (see next example).
109-
110-
### My JarBundler fork (v2.4) example
111-
Download the latest release of my JarBundler fork [from its github repo](https://github.com/tofi86/Jarbundler) and replace your old JarBundler library with the new one.
93+
> If you don't want to care about compatibility issues between OS X and Java versions, make sure to use the [latest JarBundler version ≥ 3.3](https://github.com/UltraMixer/JarBundler/releases)
11294
11395
Then place the `universalJavaApplicationStub` from this repo in your build resources folder and link it in your ANT task (attribute `stubfile`). Don't forget to set the newly introduced `useJavaXKey` option:
11496
```XML
@@ -127,8 +109,9 @@ The ANT task will care about the rest...
127109

128110
You should get a fully functional Mac Application Bundle working with both Java distributions from Apple and Oracle and all Mac OS X versions.
129111

112+
130113
### Appbundler example
131-
Just place the `universalJavaApplicationStub` from this repo in your build resources folder and link it in your ANT task (attribute `executableName` from [*infinitekind*'s fork](https://bitbucket.org/infinitekind/appbundler/overview)):
114+
Just place the `universalJavaApplicationStub` from this repo in your build resources folder and link it in your ANT task (attribute `executableName` from [*infinitekind* fork](https://bitbucket.org/infinitekind/appbundler/overview)):
132115
```XML
133116
<appbundler
134117
name="Your-App"

0 commit comments

Comments
 (0)