Hi Pietro, > java.lang.IllegalArgumentException: No compatible service: > io.scif.SCIFIOService
You have been bitten by the annotation combining problem: many of the JAR files you are trying to combine have a file at META-INF/json/org.scijava.plugin.Plugin, which lists the plugins included in that JAR file. All of these files need to be appended to one another and stored within your uber-JAR, or else plugins will not be discoverable. The scheme you are using to build your uberjar is likely not merging these files as needed. We provide some code in scijava-common to facilitate combining this metadata in the correct way. If you are using Maven to build, you can use it via the following configuration in your pom.xml: https://github.com/imagej/imagej/blob/imagej-2.0.0-rc-22/pom.xml#L577-L594 See also: https://github.com/scijava/scijava-common/issues/37 Regards, Curtis On Thu, Jan 15, 2015 at 7:02 AM, Pietro Incardona <incar...@mpi-cbg.de> wrote: > Hi Curtis > > I already strongly suggest to use Fiji/ImageJ2, but I would like (if > reasonably possible) to maintain an imageJ version > > I packed this in the jar file > > /imglib2-2.0.0-beta-26.jar > /imglib2-2.0.0-SNAPSHOT.jar > /imglib2-algorithms-2.0.0-beta-26.jar > /imglib2-algorithms-gpl-2.0.0-beta-26.jar > /imglib2-algorithms-legacy-2.0.0-beta-26.jar > /imglib2-ij-2.0.0-beta-26.jar > /imglib2-meta-2.0.0-beta-26.jar > /imglib2-ops-2.0.0-beta-26.jar > /imglib2-realtransform-2.0.0-beta-26.jar > /imglib2-ui-2.0.0-SNAPSHOT.jar > /scifio-0.16.5.jar > /scifio-bf-compat-1.8.4.jar > /scifio-cli-0.1.0.jar > /scifio-jai-imageio-1.1.0.jar > /scifio-lifesci-0.5.2.jar > /scifio-ome-xml-0.9.2.jar > /scifio-tools-0.14.0.jar > /scijava-common-2.33.0.jar > /scijava-plugins-commands-0.1.7.jar > /scijava-plugins-platforms-0.1.2.jar > /scijava-plugins-text-markdown-0.1.1.jar > /scijava-plugins-text-plain-0.1.1.jar > /scijava-ui-awt-0.1.2.jar > /scijava-ui-swing-0.3.0.jar > > > Apparently it crashes on the instruction > > // create the ImgOpener > ImgOpener imgOpener = new ImgOpener(); > > ImageJ 1.48v; Java 1.6.0_24 [64-bit]; Linux 3.16.3-200.fc20.x86_64; 10MB > of 455MB (2%) > > java.lang.IllegalArgumentException: No compatible service: > io.scif.SCIFIOService > at > org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:242) > at > org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:193) > at > org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:169) > at org.scijava.Context.<init>(Context.java:234) > at org.scijava.Context.<init>(Context.java:195) > at org.scijava.Context.<init>(Context.java:138) > at org.scijava.Context.<init>(Context.java:126) > at > io.scif.img.AbstractImgIOComponent.<init>(AbstractImgIOComponent.java:57) > at io.scif.img.ImgOpener.<init>(ImgOpener.java:94) > at mosaic.core.utils.MosaicTest.processResult(MosaicTest.java:178) > at mosaic.core.utils.MosaicTest.testPlugin(MosaicTest.java:335) > at mosaic.plugins.test.Jtest.naturalization(Jtest.java:32) > at mosaic.plugins.Jtest.setup(Jtest.java:39) > at > ij.plugin.filter.PlugInFilterRunner.<init>(PlugInFilterRunner.java:47) > at ij.IJ.runUserPlugIn(IJ.java:201) > at ij.IJ.runPlugIn(IJ.java:163) > at ij.Executer.runCommand(Executer.java:131) > at ij.Executer.run(Executer.java:64) > at java.lang.Thread.run(Thread.java:662) > > > Cheers > Pietro > > > On 01/14/2015 05:07 PM, Curtis Rueden wrote: > > Hi Pietro, > > > Is there any way to pack a jar with SCIFIO included that work also in > > imageJ1 > > Certainly. But it would help to be more specific about what you are > trying to do. > > By "pack a jar with SCIFIO" do you mean "create an uber-JAR with > dependencies embedded"? Or something else? > > By "ImageJ1" do you mean the vanilla ImageJ1 distribution from > imagej.nih.gov? If so, you can do it, but I would recommend saving > yourself a lot of work and just recommending people use ImageJ2, which > comes with SCIFIO already bundled. But if you really want to go that route, > look at the maven-shade-plugin or maven-assembly-plugin [1]. > > Regards, > Curtis > > [1] Here is a starting point for how we create an ImageJ2 uber-JAR with > dependencies: > https://github.com/imagej/imagej/blob/imagej-2.0.0-rc-22/pom.xml#L421-L648. > Your use case would likely be simpler. > > On Wed, Jan 14, 2015 at 7:18 AM, Pietro Incardona <incar...@mpi-cbg.de> > wrote: > >> Hi All >> >> Is there any way to pack a jar with SCIFIO included that work also in >> imageJ1 >> >> Cheers >> Pietro >> >> >> _______________________________________________ >> ImageJ-devel mailing list >> ImageJ-devel@imagej.net >> http://imagej.net/mailman/listinfo/imagej-devel >> > > > > _______________________________________________ > ImageJ-devel mailing list > ImageJ-devel@imagej.net > http://imagej.net/mailman/listinfo/imagej-devel > >
_______________________________________________ ImageJ-devel mailing list ImageJ-devel@imagej.net http://imagej.net/mailman/listinfo/imagej-devel