我为 ImageJ 编写了几个宏,我想创建一个 .jar (.zip) 文件以方便分发和安装。我找不到运行 jar 文件中的宏的方法。我查看了 ImageJ API,可能是因为我对 Java 不熟悉,所以无法找到答案。
jar 文件包含:
plugins.config
Plugins>MyPluginFolder, "Function1", my_plugin("my_macro_1.txt")
my_macro_1.txt
print("Hello world");
my_plugin.java 和关联的 .class 文件
import ij.*; import ij.process.*; import ij.gui.*; import java.awt.*; import ij.plugin.*; import ij.macro.*; public class my_plugin implements PlugIn { static boolean showArgs = true; public void run(String arg) { if (arg.equals("my_macro_1.txt")) {my_macro_function1(); return;} } public void my_macro_function1() { IJ.runMacro("my_macro_1.txt"); } }
我想我错过了一些东西。我们将真诚地感谢您的帮助。
最佳答案
这已被讨论过 few times已经在 ImageJ 社区中。
分发宏、脚本和插件的最简单方法是 using your own update site 。在这种情况下,无需将脚本打包成 jar 文件,用户只需单击一下即可一次性安装所有脚本。
如果您更喜欢将脚本打包到 jar 文件中,请查看 Script Launcher插件:它允许您完全执行您想要执行的操作,只需提供脚本文件和 plugins.config
文件,从而使步骤 #3 变得多余。
上面代码中的问题是 ImageJ 无法看到 jar 文件中的资源文件 my_macro.txt
。您需要使用 ClassLoader#getResourceAsStream() 方法来执行此操作。请参阅how it's done in the Script Launcher .
关于java - ImageJ 创建一个 .jar 来运行一组宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33965742/