Skip to content

VerifyError thrown when ij.jar is built targeting Java 1.8 #53

@ctrueden

Description

@ctrueden

Even though ij1-patcher now successfully applies all its patches as of ImageJ 1.51p, the bytecode verifier still throws VerifyError if the ij.jar targets bytecode version 52 (i.e. Java 8) or later. This is discussed in #50. To avoid the problem, all releases of ij.jar are built targeting Java 6 bytecode, which is fine for now since ImageJ does not use any Java >6 APIs. But it restricts ImageJ from ever updating to a Java 8 minimum and using things like lambdas or the streaming API, which is unfortunate.

The proper thing would be to dig into why the bytecode verifier still dislikes the patched ImageJ classes, and address it, so that ImageJ patched by ij1-patcher + imagej-legacy is still considered valid by the Java runtime without needing a workaround like -Xverify:none.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions