Plugin does not appear in menus

Hello, @stelfrich @imagejan

My plugin does not appear in the Plugins menu.
Even though I think I added the right plugins.config file.

This is the file: https://github.com/embl-cba/fiji-plugin-bigDataProcessor/blob/master/src/main/resources/plugins.config#L12

Any idea what I am doing wrong?
Thanks!
Christian

plugins.config files are for ImageJ1-style plugins: your jar needs to sit in ./Fiji.app/plugins, the file name has to contain at least one underscore (_), and your plugin class needs to implement ij.plugin.PlugIn.

For ImageJ2-style plugins (i.e. SciJava Commands), the proper menu path annotation in the class declaration should be sufficient.

Are you sure you want to make an ImageJ1-style plugin?

ok!

  1. I thought above requirement was removed at some point?!
    @Alex_H

  2. How does it end up in the plugins folder when it is downloaded from my update site? Is it in fact based on the underscore?

That’s an ImageJ 1.x functionality, I don’t know of any discussion to remove the requirement?! I think it is necessary to avoid other jar files (historically shipped in the plugins folder as dependencies, but not intended to provide plugins…) to show up in the menu…

The updater will not change the location of the jar file, it will be in the same place as in your local Fiji installation.
I might be wrong, but if you install your jar into a local Fiji installation by running Maven, then it will be put into jars/ or plugins/ (by the scijava-maven-plugin (?)) dependent on if it’s a valid IJ1 plugin or not.

Experimentally, I just found out that putting an underscore into the artifact name will cause Maven to install it into the plugins folder, rather than the jars folder.

Yup, thanks for confirming!

Again, what’s your reason to code an ij.plugin.PlugIn instead of an org.scijava.Command?

It’s an old piece of code with a more complex UI than Commands would support at the moment.
However, maybe I could wrap it into an Command that does nothing else than launching the UI?!

1 Like

This is legacy behavior of scijava-maven-plugin (formerly known as imagej-maven-plugin) that can’t be changed since we are trying to keep backwards compatibility. If you want your plugin to go into another subdirectory, you can use the scijava.app.subdirectory to set it, starting with scijava-maven-plugin:1.1.1.

1 Like