【问题标题】:ImageJ Create a .jar to run set of macrosImageJ 创建一个 .jar 来运行一组宏
【发布时间】:2015-11-27 22:56:29
【问题描述】:

我为 ImageJ 编写了几个宏,我想创建一个 .jar (.zip) 文件以简化分发和安装。我找不到运行位于 jar 文件中的宏的方法。我查看了 ImageJ API,可能是因为我不熟悉 Java,所以无法找到答案。

jar 文件包含:

  1. plugins.config

    Plugins>MyPluginFolder, "Function1", my_plugin("my_macro_1.txt")
    
  2. my_macro_1.txt

    print("Hello world");
    
  3. 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");
        }
    }
    

我想我错过了一些东西。非常感谢您的帮助。

【问题讨论】:

    标签: java jar macros imagej


    【解决方案1】:

    ImageJ 社区已经在 fewtimes 上讨论过这个问题。

    分发宏、脚本和插件的最简单方法是通过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

    【讨论】:

    • 请注意,Script_Launcher 尚未随斐济发货,但会在接下来的几天内发货。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 2012-07-02
    • 2012-03-13
    • 2015-10-20
    • 2023-01-14
    • 2012-05-01
    相关资源
    最近更新 更多