Caused by: java.lang.ClassNotFoundException: org.tensorflow.ndarray.NdArray
还没有人认领这个 Issue。
- 主要语言
- Java
- 星标
- 928
- 派生
- 227
- PR 合并指标
- 30 天内没有已合并 PR
描述
The maven project that I have works fine if run it as Java Application. It does not raise error if I build it eclipse. This a FiJi plugin. As a result, if I copy paste jar file into "FiJi/plugins" or use "install plugins" I still do not have any problem. However, when I choose the plugin, it raises the following error.
In brief, I have models (tensorflow) trained using Python. Then, I load the models in tensorflow/java (0.3.1) . As I wrote above I do not have any problem (if I run the project as Java Application) loading the models and predicting images using tensorflow/java.
I am using windows, but I have the same problem if I run it on Linux as well.
(Fiji Is Just) ImageJ 2.0.0-rc-69/1.53c; Java 1.8.0_172 [64-bit]; Windows 8.1 6.3; 69MB of 12155MB (<1%)
java.lang.NoClassDefFoundError: org/tensorflow/ndarray/NdArray
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.newInstance(Class.java:412)
at org.scijava.plugin.PluginInfo.createInstance(PluginInfo.java:304)
at org.scijava.command.CommandInfo.createInstance(CommandInfo.java:247)
at org.scijava.command.CommandModule.instantiateCommand(CommandModule.java:248)
at org.scijava.command.CommandModule.<init>(CommandModule.java:98)
at org.scijava.command.CommandInfo.createModule(CommandInfo.java:325)
at org.scijava.module.DefaultModuleService.createModule(DefaultModuleService.java:167)
at org.scijava.module.DefaultModuleService.run(DefaultModuleService.java:206)
at org.scijava.module.DefaultModuleService.run(DefaultModuleService.java:197)
at org.scijava.module.DefaultModuleService.run(DefaultModuleService.java:182)
at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:304)
at net.imagej.legacy.DefaultLegacyHooks.interceptRunPlugIn(DefaultLegacyHooks.java:163)
at ij.IJ.runPlugIn(IJ.java)
at ij.Executer.runCommand(Executer.java:150)
at ij.Executer.run(Executer.java:68)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.tensorflow.ndarray.NdArray
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 19 more
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
通过将使用 Maven 构建的 JAR 安装到 Fiji 中并选择该插件来重现此故障;堆栈跟踪进入 org.scijava.plugin.PluginInfo.createInstance,并报告 org.tensorflow.ndarray.NdArray 不可用。检查插件打包的依赖项和类路径,然后验证该插件能在受影响的平台上的 Fiji 中成功启动。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, tensorflow
- 领域
- build-system
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100