I have followed the advice offered by Curtis regarding adding the io.scif: 
scifio dependency to my POM

The dependency part of my POM looks like this:

    <dependencies>
        <dependency>
            <groupId>net.imglib2</groupId>
            <artifactId>imglib2</artifactId>
            <version>2.2.1-SNAPSHOT</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>io.scif</groupId>
            <artifactId>scifio</artifactId>
            <version>0.17.1</version>
            <type>jar</type>
        </dependency>
    </dependencies>

I am using NetBeans IDE, configured for use with maven project (I am slo using 
Java 8 and JavaFX)

However when I attempt to Build (or Build with Dependencies)  within NetBeans, 
I get the following error message:
============================================================

cd /Users/michaelellis/Documents/Development/MavenImgLib2FX; 
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home 
"/Applications/NetBeans/NetBeans 
8.0.app/Contents/Resources/NetBeans/java/maven/bin/mvn" install
Scanning for projects...
                                                                        
------------------------------------------------------------------------
Building MavenImgLib2FX 1.0-SNAPSHOT
------------------------------------------------------------------------
The POM for io.scif:scifio:jar:0.17.1 is missing, no dependency information 
available
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 0.341s
Finished at: Fri Dec 05 10:34:41 GMT 2014
Final Memory: 7M/245M
------------------------------------------------------------------------
Failed to execute goal on project MavenImgLib2FX: Could not resolve 
dependencies for project biz.dsuk:MavenImgLib2FX:jar:1.0-SNAPSHOT: Failure to 
find io.scif:scifio:jar:0.17.1 in http://repo.maven.apache.org/maven2 was 
cached in the local repository, resolution will not be reattempted until the 
update interval of central has elapsed or updates are forced -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the 
following articles:
[Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

============================================================

If I open a terminal window and cd into the project directory and:

        mvn clean package

It succeeds.

However, when I then attempt to run the project with:

        java -cp MavenImgLib2FX-1.0-SNAPSHOT.jar biz.dsuk.mavenimglib2fx.MainApp

The application starts to execute but throws “No compatible service: 
io.scif.SCIFIOService” exception.
============================================================

img1=CellImg [20x30]
BufferedImage=BufferedImage@3137c585: type = 10 ColorModel: #pixelBits = 8 
numComponents = 1 color space = java.awt.color.ICC_ColorSpace@134d9d5f 
transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: 
width = 707 height = 699 #numDataElements 1 dataOff[0] = 0
Loading image...
Exception in Application start method
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at 
com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363)
        at 
com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
        at 
com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875)
        at 
com.sun.javafx.application.LauncherImpl.lambda$launchApplication$150(LauncherImpl.java:157)
        at 
com.sun.javafx.application.LauncherImpl$$Lambda$50/553264065.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: No compatible service: 
io.scif.SCIFIOService
        at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:243)
        at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194)
        at 
org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:170)
        at org.scijava.Context.<init>(Context.java:244)
        at org.scijava.Context.<init>(Context.java:203)
        at org.scijava.Context.<init>(Context.java:142)
        at org.scijava.Context.<init>(Context.java:128)
        at io.scif.SCIFIO.<init>(SCIFIO.java:81)
        at biz.dsuk.mavenimglib2fx.MainApp.start(MainApp.java:38)
        at 
com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$156(LauncherImpl.java:821)
        at 
com.sun.javafx.application.LauncherImpl$$Lambda$53/681110827.run(Unknown Source)
        at 
com.sun.javafx.application.PlatformImpl.lambda$runAndWait$169(PlatformImpl.java:326)
        at 
com.sun.javafx.application.PlatformImpl$$Lambda$47/693632176.run(Unknown Source)
        at 
com.sun.javafx.application.PlatformImpl.lambda$null$167(PlatformImpl.java:295)
        at 
com.sun.javafx.application.PlatformImpl$$Lambda$49/1260282780.run(Unknown 
Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
com.sun.javafx.application.PlatformImpl.lambda$runLater$168(PlatformImpl.java:294)
        at 
com.sun.javafx.application.PlatformImpl$$Lambda$48/1364335809.run(Unknown 
Source)
        at 
com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
Exception running application biz.dsuk.mavenimglib2fx.MainApp
============================================================

If I remove the calls to the SCIO code and build and run from the command line, 
all works well.

The SCIO source code that I am using is lifted/amended from one of the 
tutorials and is as follows:

============================================================
            imagePath = 
"8bit-signed&pixelType=int8&lengths=50,50,3,5,7&axes=X,Y,Z,Channel,Time.fake";
            System.out.println("Loading image... '" + imagePath + "'");
            SCIFIO scifio = new SCIFIO();
            final Reader reader = 
scifio.initializer().initializeReader(imagePath);
============================================================

This source code works file in the SCIFIO tutorial.

Any help gratefully appreciated!!!!!

— Michael Ellis




On 3 Dec 2014, at 19:31, Curtis Rueden <ctrue...@wisc.edu> wrote:

> Hi Michael,
> 
> > How do I establish what Maven projects I need to include? 
> 
> One way to check is using the dependency-maven-plugin like so:
> 
>     mvn dependency:analyze
> 
> This will tell you:
> 
> A) Dependencies you declared but do not actually use; and
> B) Dependencies you did not declare directly, but actually need.
> 
> Note that this will only work if your project compiles successfully. In other 
> words, it is easier to start with "too many" dependencies and pare down, 
> rather than trying to "build up" from zero.
> 
> So in your case, you can start with the ImgLib2 Examples dependencies block, 
> run dependency:analyze, and adjust the POM according to its recommendations.
> 
> > When I go to my NetBeans project dependence, select Add dependency,
> > then type SCIF to the query text box, I get a huge list of
> > possibilities.
> 
> The dependency you probably want is io.scif:scifio (i.e.: a groupId of 
> io.scif, and an artifactId of scifio). Presumably at the latest version. You 
> can search for that here:
> 
>    http://maven.imagej.net/index.html#nexus-search;gav~io.scif~scifio~~~
> 
> So your dependency block in this case would be:
> 
>     <dependency>
>       <groupId>io.scif</groupId>
>       <artifactId>scifio</artifactId>
>       <version>0.17.1</version>
>     </dependency>
> 
> Note that that block of XML is available for copy-pasting from the link above.
> 
> > I am completely new to maven
> 
> For more information, see:
>     http://imagej.net/Maven
> 
> Regards,
> Curtis
> 
> On Tue, Dec 2, 2014 at 6:05 PM, Michael Ellis <michael.el...@dsuk.biz> wrote:
> I am investigating the using ImgLib2 for a project.
> 
> I am using NetBeans and have managed to create a NetBeans Mavern project and 
> have  added a dependency for ImgLib2 Core Library and that seems to be 
> working OK.
> 
> I now want to add the least possible requirements for the purpose of opening 
> some image files.
> 
> How do I establish what Maven projects I need to include? 
> 
> I have cloned  the ImgLib2 Examples project and got that working but that 
> seems to include all manner of things that I suspect I do not need.
> 
> When I go to my NetBeans project dependence, select Add dependency, then type 
> SCIF to the query text box, I get a huge list of possibilities.
> 
> I am completely new to maven and so do not know what I am doing with it!
> 
> — Michael Ellis
> Digital Scientific UK Ltd.
> 
> 
> 
> 
> _______________________________________________
> 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

Reply via email to