ImageJ now requires java 8 or higher

As of this week, ImageJ 1.53h17 requires java 8 or higher.

See Wayne Rasband’s message.

The motivation was adding more methods to the ij.ImageListener interface, e.g. imageSaved, which was added as a default method that does nothing to ensure backwards compatibility.

Now it’s the time to think about downstream consequences for Fiji, e.g. removing support for the long-unsupported java 6 (which hasn’t received security updates since 2013), as well as additional java 8 features into ImageJ, e.g. uses of AutoCloseable interface, as suggested by Michael Ellis.

6 Likes

I’ve been seeing functionality degredation lately in my FIJI. Do I need to upgrade the Java folder.

image

image

It looks like I’m still back on FIJI version 1.53f45, but I often upgrade to the daily build. What steps do I need to take to keep FIJI going?

I have a lot of my own macros and many plugins, even some I have modifie, so a new install would be scary, since I’m not sure I could transfer over all of my specific setup.

Can I just update the fava folder and update to the daily build safely at this time???

Hey @rondespain,

Can you be more specific? I’m afraid the only way for preventing this is reporting bugs that appear when updating Fiji. Only in this way core developers know what to take care of :wink:

Cheers,
Robert

I get this when I run trainable weka segmentaion on my Win10 Lenovo. TWS works on my Dell though with a copy of the same IJ folder.

(Fiji Is Just) ImageJ 2.1.0/1.53f45; Java 1.8.0_172 [64-bit]; Windows 10 10.0; 57MB of 9130MB (<1%)

java.lang.NoClassDefFoundError: Could not initialize class trainableSegmentation.Weka_Segmentation

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at java.lang.Class.newInstance(Class.java:442)

at ij.IJ.runUserPlugIn(IJ.java:239)

at ij.IJ.runPlugIn(IJ.java:204)

at ij.Executer.runCommand(Executer.java:150)

at ij.Executer.run(Executer.java:68)

at java.lang.Thread.run(Thread.java:748)

Sometimes I get this in the exception window on the Lenovo.

(Fiji Is Just) ImageJ 2.1.0/1.53f45; Java 1.8.0_172 [64-bit]; Windows 10 10.0; 43MB of 9130MB (<1%)

java.lang.NoClassDefFoundError: Could not initialize class trainableSegmentation.Weka_Segmentation

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at java.lang.Class.newInstance(Class.java:442)

at ij.IJ.runUserPlugIn(IJ.java:239)

at ij.IJ.runPlugIn(IJ.java:204)

at ij.Executer.runCommand(Executer.java:150)

at ij.Executer.run(Executer.java:68)

at ij.IJ.run(IJ.java:323)

at ij.IJ.run(IJ.java:334)

at ij.macro.Functions.doRun(Functions.java:691)

at ij.macro.Functions.doFunction(Functions.java:98)

at ij.macro.Interpreter.doStatement(Interpreter.java:278)

at ij.macro.Interpreter.doBlock(Interpreter.java:712)

at ij.macro.Interpreter.runMacro(Interpreter.java:187)

at ij.macro.MacroRunner.run(MacroRunner.java:152)

at java.lang.Thread.run(Thread.java:748)

Here are the details about the Lenovo where TWS fails.

image

Here is the basic info for the Dell where TWS works.

image

Thanks for any help

1 Like

Hi @rondespain,
The first issue is that you are running Windows. I understand you may have no choice in the matter. In my hands, in the past, I’ve run into incomprehensible errors with Windows (from not running a plugin that run the day before without having updated anything, to using jar files that had been overwritten and therefore shouldn’t exist, indicating the existence of an stale file cache somewhere in the system). In my experience, rebooting addresses all of these issues. Even better, install a reliable operating system, of which there are many to choose from, if you are able to. If you can’t, run Fiji inside a VM, which, most likely, will run at native speed anyway.
The second issue is your java 8 is many years out of date. Replace your java 8 folder with a newly downloaded one; mine is at 1.8.0_275.
Best regards,
Albert

1 Like

I downloaded the latest version of FIJI and Trainable Weka Segmentation runs but only after these warnings.

image

image

the second time I open the image TWS runs without the warnings.

If I close FIJI and reopen it the first TWS gets the warnings and the second does not.

What do you think?

1 Like

I’d file the first one as a bug against ImageJ, and the second one against Trainable Weka Segmentation.

If you search the web for “genericpropertiescreator”, it turns out that it relates to TWS not ImageJ.

Thanks, then these are bug reports for @iarganda and the Trainable Weka Segmentation, see here GitHub - fiji/Trainable_Segmentation: Fiji library to perform image segmentation based on the Weka learning schemes for its issue tracker.

I would say that’s related to Weka itself. I’ll try to dig into it!