[ImageJ-devel] [fiji-devel] moving to Java 7

Curtis Rueden ctrueden at wisc.edu
Sun Dec 7 14:30:12 CST 2014

Hi everyone,

> we are considering to increase the required Java version for
> ImageJ2/Fiji from 6 to 7.

Such a change is not something that could happen overnight. To elaborate a
bit on the challenges and logistics:

- Java 7 is not available to everyone. In particular, it is not available
for OS X 10.6 Snow Leopard and earlier. Our current estimate is that ~1% of
users use such operating systems. While upgrading is an option for some, it
is not possible on older hardware.

- As Michael & Birgit point out, ImageJ has problems when run with Java 7
in some scenarios, and on some platforms. Also, as I mentioned on another
recent thread, there are performance issues with repainting on OS X with
Java 7 (but not, it seems, with Java 6 or 8).

- Existing Fiji installations using a bundled Java -- the majority of them:
the Windows and Linux bundles -- would need to be upgraded somehow. But the
ImageJ Updater does not support upgrading the version of Java. Either: A)
someone would need to do the work of improving the Updater to upgrade Java
automatically; or B) all Fiji users would need to manually upgrade it,
and/or download and unpack a new Fiji. I would strongly prefer option A,
but the work is involved and I personally would not have time to do it any
time soon.

With these points in mind, my current preference is to keep supporting Java
6 for the time being. For developers wishing to use Java-7-specific
features, a separate update site would be a safer route.

That said, if a motivated party is able to:

1) Make the Updater smarter about versions of Java -- ideally, implementing
UI that lets the user specify and switch between JREs similar to e.g.

2) Verify that the most critical problems in behavior are already fixed,
and/or fix them.

3) Thoroughly test on all three major platforms -- ideally with both Oracle
Java 7 and OpenJDK 7.

Then moving forward with the switch would be feasible.


On Sun, Dec 7, 2014 at 8:11 AM, Tobias Pietzsch <pietzsch at mpi-cbg.de> wrote:

> Hi,
> we are considering to increase the required Java version for ImageJ2/Fiji
> from 6 to 7.
> Java 6 has been unsupported (ie, no more fixes and updates) for over 1.5
> years now, Java 7 is around for a long time, and developers are moving on
> to Java 8 even.
> Before we just move to Java 7, we want to see what users would think about
> this. So, are there any strong opinions out there?
> best regards,
> Tobias
> On 05 Dec 2014, at 17:23, Curtis Rueden <ctrueden at wisc.edu> wrote:
> Hi all,
> Mark Hiner wrote:
> > my only hesitation towards agreeing with consensus here is that these
> > particular mailing lists seem likely to be biased towards active
> > developers (who I would expect to prefer newer Java versions).
> I agree. While personally I would love to move to Java 7 or even Java 8,
> and even if we all support that here, we must then ask on the main ImageJ
> mailing list to get feedback from all users first.
> Regards,
> Curtis
> On Fri, Dec 5, 2014 at 9:58 AM, Mark Hiner <hiner at wisc.edu> wrote:
>> Jay,
>> >Can anyone else confirm this experience?
>> Yep, Yosemite dropped Java 6. Definitely an annoying extra barrier for
>> developers. But there's a FAQ entry
>> <http://imagej.net/Frequently_Asked_Questions#How_do_I_set_up_Java_6_on_OS_X.3F>
>> now!
>> Michael,
>> >When replying to a post like this, is it the done thing to reply to the
>> list in general or should I be replying just to the original poster?
>> You did the right thing - reply to the whole list. That way there is a
>> complete record of any discussion-especially important on a general topic
>> like this. Personally, if I ever get a private mail in response to
>> something, I cc the list in my reply (see also:
>> http://imagej.net/Philosophy#Open_source)
>> Out of curiosity, how do people feel about establishing set guidelines
>> for when to advance Java versions (e.g. if it's 18 months past the
>> end-of-life release and under 2% of the users would be affected, just
>> upgrade)? There will certainly be times when this question will come up
>> again... and my only hesitation towards agreeing with consensus here is
>> that these particular mailing lists seem likely to be biased towards active
>> developers (who I would expect to prefer newer Java versions).
>> Best,
>> Mark
>> P.S. Thanks for starting this thread Tobias!
>> On Fri, Dec 5, 2014 at 8:56 AM, Lee Kamentsky <leek at broadinstitute.org>
>> wrote:
>>> For CelllProfiler, there's some packaging work that would need to be
>>> done (we bundle the JRE with the Windows version and the Centos 6 RPM has
>>> Java 6 as a dependency). We rely on the system Java for the Mac presently
>>> and I don't have a clear idea of what range of Java 7 support to expect on
>>> our user's Macs.
>>> It certainly seems like there is a lot of pressure to move to Java 7, so
>>> my vote would be to move to Java 7, even considering the above.
>>> On Fri, Dec 5, 2014 at 8:54 AM, Tobias Pietzsch <pietzsch at mpi-cbg.de>
>>> wrote:
>>>> Hi all,
>>>> what is everyones opinion on moving the IJ2/Fiji stack to a new version
>>>> of Java, i.e., Java 7.
>>>> Java 7 has been around for more than 3 years now. The end-of-life final
>>>> public release of Java 6 was more than 1.5 years ago.
>>>> Benefits I see are the following:
>>>> * We could use the “new" Java 7 libraries. For example the Fork/Join
>>>> framework would come handy in defining multi-threading interfaces in
>>>> scijava-common (to be used in imagej-ops for example). Or the NIO2 stuff
>>>> (java.nio.file)
>>>> * We would benefit from improvements of type inference for generics in
>>>> the compiler. No more jumping through hoops to fix “errors” in code that
>>>> should compile with Java 6 but doesn’t. (Plus we could use the diamond
>>>> operator to shorten generics instantiations.)
>>>> * We could use third-party libraries that only support Java 7. For
>>>> example I’m using Jetty in a project that can therefore not be part of Fiji
>>>> currently. (This mail was more or less triggered by me looking into
>>>> http://ojalgo.org who maybe went a bit over the top and already
>>>> abandoned Java 7 for Java 8). I think it is only a matter of time until we
>>>> will have a problem with third-party libraries that we already use
>>>> abandoning Java 6.
>>>> I do not have a clear picture of what the downsides would be. Johannes
>>>> always said that people on old macs are tied to an old java version and
>>>> that we do not want to leave those users behind. It would be interesting to
>>>> know how many people that actually would impact.
>>>> What do you think?
>>>> best regards,
>>>> Tobias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20141207/1e2d859d/attachment-0001.html>

More information about the ImageJ-devel mailing list