<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Great. Wasn't sure. Thanks.</div><div><br><div><div>On Aug 7, 2014, at 12:40 PM, Curtis Rueden <<a href="mailto:ctrueden@wisc.edu">ctrueden@wisc.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Hi Jay,<div><br></div><div>I would prefer to discuss things on the public mailing lists. This sort of question is just fine on fiji-devel (since it is about a Fiji plugin).</div><div><br></div><div>Thanks,</div>

<div>Curtis</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 7, 2014 at 6:26 AM, Jay Warrick <span dir="ltr"><<a href="mailto:warrick@wisc.edu" target="_blank">warrick@wisc.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Curtis,<br>
<br>
Just a learning question regarding maven dependencies. When I add a maven dependency to my project (e.g., Track Mate so I can use it's tracking algorithms...)<br>
<br>
<dependency><br>
        <groupId>sc.fiji</groupId><br>
        <artifactId>TrackMate_</artifactId><br>
        <version>2.4.0</version><br>
</dependency><br>
<br>
My program sees the new dependency and I can compile and run but when I use the TrackMate algorithm I get an error saying that it can't find a class that TrackMate depends on from net.sf.jgrapht. I look in the TrackMate pom and I see...<br>


<br>
<dependency><br>
        <groupId>net.sf.jgrapht</groupId><br>
        <artifactId>jgrapht</artifactId><br>
        <version>${jgrapht.version}<br>
        </version><br>
</dependency><br>
<br>
So, obviously it looks like the dependency is in the TrackMate pom and not some purely local dependency that points to a jar in some non-maven-controlled folder on the developer's computer. However, in order to get my TrackMate algorithm to work without an error I have to add the missing dependency on jgrapht explicitly to my pom (removing the jgrapht version parameter because I don't have this parameter defined in my project and replacing it with the only version that is available at <a href="http://maven.imagej.net/" target="_blank">maven.imagej.net</a>)<br>


<br>
<dependency><br>
        <groupId>net.sf.jgrapht</groupId><br>
        <artifactId>jgrapht</artifactId><br>
        <version>0.8.3</version><br>
</dependency><br>
<br>
Is it likely that the ${jgrapht.version} parameter in TrackMate refers to a different version than is available on <a href="http://maven.imagej.net/" target="_blank">maven.imagej.net</a>? If I'm not on the right track, what is going on? Lastly, if/when this happens more generally, what should my general course of action (do what I did and contact others such as TrackMate developers or you guys and your maven repo)?<br>


<br>
This sort of kinda happened to me with the xadisk jar artifact dependency that I have but in the case of the xadisk dependency, the xadisk pom had the following which, I think, suggests that the jar expects this to be provided by the java distribution I'm running. Not sure why it isn't but at least adding this as a dependency allows my xadisk stuff to work now. Anything striking you as wrong about this xadisk situation or just merely unfortunate and I should add the needed dependency like I have?<br>


<br>
<dependency><br>
                <groupId>javax.resource</groupId><br>
                <artifactId>connector-api</artifactId><br>
                <version>1.5</version><br>
                <scope>provided</scope><br>
</dependency><br>
<br>
Thanks,<br>
<br>
Jay<br>
<br>
</blockquote></div><br></div>
</blockquote></div><br></div></body></html>