Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected "cannot access java.lang.Object bad class file" error #7

Open
ctrueden opened this issue Mar 2, 2015 · 1 comment
Open
Milestone

Comments

@ctrueden
Copy link
Member

ctrueden commented Mar 2, 2015

From @rasband:

I am using Fiji 2.0.0-rc-25/1.49p and Java 1.8.0_25 [64-bit] on OS X 10.10.1.

When I open the "Red_And_Blue.java" file in the Script Editor and click "Run" I get this exception:

Started Red_And_Blue.java at Sun Mar 01 16:33:21 EST 2015
Compiling 1 file in /var/folders/sj/hs9p4kxn1z9brlkf83ycm4qr0000gn/T/java218593696282971329
/var/folders/sj/hs9p4kxn1z9brlkf83ycm4qr0000gn/T/java218593696282971329/src/main/java/Red_And_Blue.java:8: cannot access java.lang.Object
bad class file: ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Object.class)]
class file has wrong version 52.0, should be 50.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
public class Red_And_Blue implements PlugIn {
       ^
org.scijava.minimaven.JavaCompiler$CompileError: Compile error: 1
    at org.scijava.minimaven.JavaCompiler.call(JavaCompiler.java:80)
    at org.scijava.minimaven.MavenProject.build(MavenProject.java:477)
    at org.scijava.minimaven.MavenProject.build(MavenProject.java:406)
    at org.scijava.minimaven.MavenProject.build(MavenProject.java:391)
    at org.scijava.plugins.scripting.java.JavaEngine.eval(JavaEngine.java:154)
    at org.scijava.script.ScriptModule.run(ScriptModule.java:175)
    at org.scijava.module.ModuleRunner.run(ModuleRunner.java:167)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:126)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:65)
    at org.scijava.thread.DefaultThreadService$2.call(DefaultThreadService.java:164)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

See also:

My initial guess would be something relating to the fact that ImageJ2 ships a Java 6 tools.jar file.

@ctrueden
Copy link
Member Author

ctrueden commented Mar 2, 2015

The following plugin source reproduces this problem when running ImageJ2 using Java 8 on OS X:

import ij.plugin.PlugIn;
import ij.IJ;

public class Bare_PlugIn implements PlugIn {
    @Override
    public void run(String arg) {
        IJ.showMessage("Hello world!");
    }
}

The problem does not occur with Java 1.6.0_65 on my system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant