0

到目前为止,我在斐济的脚本编辑器中执行了我的 jython 插件。我想从命令行执行我的 jython 脚本。

在线执行jython myscript.py

from ij import IJ

我得到错误:

ImportError:没有名为 ij 的模块

我猜这意味着找不到 ij 的 jar 文件,因为它通常是由 ImageJ 编辑器找到的。

所以我设置了java类路径:

java -cp “/home/user/input_bash/jars/ij.jar” ij

然后我收到错误:

找不到主类。(Fehler: Hauptklasse ij konnte nicht gefunden oder geladen werden) 原因:java.lang.ClassNotFoundException: ij

我是java新手,这是否意味着我没有使用正确的罐子?

我还使用编辑器执行:

from ij import IJ;

print(IJ.getClassLoader().loadClass("ij.IJ")
    .getResource("IJ.class").toString());

这给了我目录:/home/user/Software/Fiji.app/jars/ij-1.53c.jar!/ij/IJ.class

这意味着编辑器使用 ij-1.53​​c.jar 中的类!然后我尝试了: java -cp "/home/lisa/Software/Fiji.app/jars/ij-1.53c.jar\!/ij" ij

\由于!. _

我还是一样classNotFoundException

4

1 回答 1

0

当我在命令行运行 jython 脚本时,我会像这样使用 jython.jar:

java -jar jython.jar somescript.py

如果您在 jython 模块或 jar 中有外部依赖项,则可以将它们添加到类路径中以便它们被拾取。您可能还需要将 jython 模块的路径添加到 sys.path:

import sys
sys.path.append("<path to modules>")
于 2021-05-06T20:51:30.867 回答