Posted by
Dan McDonald on
Apr 20, 2018; 7:16pm
URL: http://imagej.273.s1.nabble.com/Incorporating-a-plugin-into-the-ij-jar-file-tp5020540.html
Dear List,
I would like to incorporate the Skeletonize (2D/3D) plugin into the ij.jar
file. I have been unsuccessful in finding a way to do so.
I have the Skeletonize (2D/3D) executable jar file located in my plugin
folder. I successfully run the plugin on a daily basis when I use ImageJ.
I cannot figure out how to add a plugin that is in my plugin folder to the
ij.jar.
I have "uncompressed" the ij.jar and placed the Skeletonize3D.class file in
the jar's plugin folder. I then went into the IJ Properties.txt file and
modified it to add Skeletonize (2D/3D) as a user plugin. As shown below:
# Install user plugins located in ij.jar to Plugins>User Plugins submenu
user_plugins01="Skeletonize (2D/3D)",ij.plugin.Skeletonize3D_
(I am not sure what the arguments above are supposed to be. I could not
find documentation on adding user plugins via the IJProperties.txt route.
What I did looked the closest to want other lines had in them.)
I then rezipped everything.
When next I startup ImageJ the plugin shows up on the user plugin menu as
expected.
Unfortunately I get the following error messages when I select the
skeletonize function.
ImageJ 1.51p; Java 1.8.0_141 [64-bit]; Linux 3.13.0-37-generic; 16MB of
22020MB (<1%)
java.lang.NoClassDefFoundError: ij/plugin/Skeletonize3D_ (wrong name:
Skeletonize3D_/Skeletonize3D_)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at
java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at ij.IJ.runPlugIn(IJ.java:184)
at ij.Executer.runCommand(Executer.java:137)
at ij.Executer.run(Executer.java:66)
at java.lang.Thread.run(Thread.java:748)
I am not sure if my syntax is incorrect in IJProperties.txt or if I need to
do more than just drop a class file in the ij.jar plugin folder or both.
I am not a java person. Any assistance or pointers to documentation would
be much appreciated.
Thank you,
Dan
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html