Comments (3)
The problem is caused by Javassist 3.16.0-GA being incompatible with Java 8. If you use Java 6 or Java 7, things should work.
We already updated the ImageJ software stack to use Javassist 3.19.0-GA, which fixes the problem. However, when updating the tutorials to use the latest ImageJ software stack, there are other new problems which need to be addressed. I am working on fixing these, and will push when ready.
from tutorials.
Awesome 👍
from tutorials.
Turns out the updates I did yesterday work just fine, so I finally pushed them to master. Sorry for the delay.
For the record (and for the search archives on GitHub): if you ever see an error like:
java.lang.IllegalArgumentException: Cannot handle replace call to show in ij.gui.StackWindow's public <init>(ij.ImagePlus imp, ij.gui.ImageCanvas ic)
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:725)
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:650)
at net.imagej.patcher.LegacyInjector.inject(LegacyInjector.java:320)
at net.imagej.patcher.LegacyInjector.injectHooks(LegacyInjector.java:109)
at net.imagej.patcher.LegacyEnvironment.initialize(LegacyEnvironment.java:101)
at net.imagej.patcher.LegacyEnvironment.applyPatches(LegacyEnvironment.java:495)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:397)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:376)
at net.imagej.legacy.LegacyService.<clinit>(LegacyService.java:130)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:357)
at java.lang.Class.newInstance(Class.java:310)
at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:302)
at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194)
at org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:166)
at org.scijava.Context.<init>(Context.java:267)
at org.scijava.Context.<init>(Context.java:224)
at org.scijava.Context.<init>(Context.java:163)
at org.scijava.Context.<init>(Context.java:119)
at org.scijava.Context.<init>(Context.java:107)
at net.imagej.ImageJ.<init>(ImageJ.java:82)
at UsingOps.main(UsingOps.java:17)
Caused by: java.lang.RuntimeException: cannot find ij.macro: ij.Macro found in ij/macro.class
at javassist.CtClassType.getClassFile2(CtClassType.java:196)
at javassist.CtClassType.makeFieldCache(CtClassType.java:867)
at javassist.CtClassType.getMembers(CtClassType.java:858)
at javassist.CtClassType.getDeclaredField2(CtClassType.java:992)
at javassist.CtClassType.getField2(CtClassType.java:946)
at javassist.CtClassType.getField(CtClassType.java:927)
at javassist.CtClass.getField(CtClass.java:819)
at javassist.compiler.MemberResolver.lookupFieldByJvmName2(MemberResolver.java:283)
at javassist.compiler.TypeChecker.fieldAccess2(TypeChecker.java:913)
at javassist.compiler.TypeChecker.fieldAccess(TypeChecker.java:870)
at javassist.compiler.TypeChecker.atFieldRead(TypeChecker.java:803)
at javassist.compiler.TypeChecker.atExpr(TypeChecker.java:578)
at javassist.compiler.ast.Expr.accept(Expr.java:68)
at javassist.compiler.TypeChecker.fieldAccess(TypeChecker.java:860)
at javassist.compiler.TypeChecker.atFieldRead(TypeChecker.java:803)
at javassist.compiler.TypeChecker.atExpr(TypeChecker.java:578)
at javassist.compiler.ast.Expr.accept(Expr.java:68)
at javassist.compiler.TypeChecker.booleanExpr(TypeChecker.java:523)
at javassist.compiler.TypeChecker.atExpr(TypeChecker.java:592)
at javassist.compiler.ast.Expr.accept(Expr.java:68)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)
at javassist.compiler.CodeGen.compileBooleanExpr(CodeGen.java:236)
at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:384)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
at javassist.compiler.Javac.compileStmnt(Javac.java:569)
at javassist.expr.MethodCall.replace(MethodCall.java:235)
at net.imagej.patcher.CodeHacker$7.edit(CodeHacker.java:686)
at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)
at javassist.expr.ExprEditor.doit(ExprEditor.java:91)
at javassist.CtBehavior.instrument(CtBehavior.java:712)
at net.imagej.patcher.CodeHacker$EagerExprEditor.instrument(CodeHacker.java:1279)
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:670)
... 26 more
It is probably caused by a project linkage to ImageJ 1.x in Eclipse. Close the ImageJ1 project, and the problem should disappear.
from tutorials.
Related Issues (20)
- Fix ExecuteCommands to work with fake format changes HOT 7
- some error massage
- Invalid service: net.imagej.legacy.LegacyService HOT 1
- Python kernel error (in Binder): PYJNIUS_JAR environment variable not defined. HOT 10
- Link to more awesome data science tutorials HOT 1
- Create tutorial about imglib2-roi and how to work with labelings HOT 2
- Useful Writing Plugin Setup Video HOT 2
- DynamicCommand: combobox in the example never gets updated HOT 2
- Include Maven installation of ImageJ and Fiji artifacts in postBuild for binder HOT 6
- Problems with %classpath HOT 3
- Consider using Jupytext for version control of Jupyter notebooks HOT 1
- A connection to the notebook server could not be established.
- "ImageJ with Python Kernel" section 6.2 doesn't work HOT 2
- HowTo wishlist HOT 15
- Move working-with-modules to howtos
- Address dependency skew in BeakerX notebooks
- Resolve BeakerX component version skew (kotlin, okio, maybe more)
- Tab completion isn't working in the Jupyter Notebooks
- Add -Djava.net.useSystemProxies=true tip to sections about proxy configuration
- Update to the latest version of ImageJ2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tutorials.