http://imagej.273.s1.nabble.com/Incorporating-a-plugin-into-the-ij-jar-file-tp5020540p5020544.html
Thanks for the additional details.
> Hi Curtis,
>
> I have a java application which runs ImageJ in a headless mode. I wrote
> all of the ImageJ macro code but not the java application itself. ImageJ
> was bundled with an older version of skeletonize. This ran just fine in my
> application. I get improved performance with Ignacio's new version.
>
> I have used NetBeans to make simple changes to the Java application. I
> thought adding the Skeletonize3D plugin to the ImageJ internal plugins
> would be simple. But I just don't know enough to make it work.
>
> Dan
>
> -----Original Message-----
> From: ImageJ Interest Group [mailto:
[hidden email]] On Behalf Of
> Curtis Rueden
> Sent: Friday, April 20, 2018 4:19 PM
> To:
[hidden email]
> Subject: Re: Incorporating a plugin into the ij.jar file
>
> Hi Dan,
>
> Before we dive into technical details: could you describe why you want to
> do this? What is your use case? Are you trying to make an "uber-JAR" [1]?
> If so, why?
>
> Regards,
> Curtis
>
> [1]
https://imagej.net/Uber-JAR>
> --
> Curtis Rueden
> LOCI software architect -
https://loci.wisc.edu/software> ImageJ2 lead, Fiji maintainer -
https://imagej.net/User:Rueden> Did you know ImageJ has a forum?
http://forum.imagej.net/>
>
> On Fri, Apr 20, 2018 at 2:16 PM, Dan McDonald <mcdonalddw@
> phenotypescreening.com> wrote:
>
> > 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.findCl
> > ass(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> >
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>