[ImageJ-devel] Trouble Building the Maven Project for ImageJ

Curtis Rueden ctrueden at wisc.edu
Wed Oct 31 15:05:10 CDT 2012


Hi Calem,

> Which IDE do you suggest?

We seriously want the project to work well in any Maven-enabled
environment. So actually, it would be helpful for you to stick to your most
preferred IDE, and report any issues you encounter.

That said, if you really want to know which tools the core developers use,
the breakdown is roughly:

5x: Windows + Eclipse
1x: Windows + NetBeans
2x: OS X + Eclipse
1x: OS X + Eclipse, vim, mvn
1x: OS X + NetBeans, Xcode
2x: Linux + Eclipse, vim, mvn

We have a dearth of IDEA users right now so you could use that just to
cover all our bases. ;-)

> My primary goal write now is to quickly convert a MatLab project into
> an ImageJ Plug-in.

Presumably, your goal is to break the dependency on MATLAB? If not, and you
just want to get the data into ImageJ by any means necessary, have you seen
this?
    http://fiji.sc/Miji

If you need to cut MATLAB out of the picture, you could try a drop-in
replacement such as JMathLib:
    http://www.jmathlib.de/

Either way, you will still need to write the ImageJ side of things, too.

> I believe I may move on to help develop the ImageJ core later on.

We would love for additional developers to get on board. With GitHub it is
very easy to start contributing code upstream right away using Pull
Requests.

> I imagine that you guys would prefer plug-ins were developed
> compatible to 2.0 as soon as possible, so I'd like to make the plug-in
> and design it for 2.0 (even if it isn't officially released).

Definitely; it will likely help you in the long term to develop for
ImageJ2. You will pay a price in the short term since ImageJ2 is still in
beta and you'll have to work harder to learn the system (less
documentation, etc.). But we are more than happy to help and answer
questions via the mailing list.

> Where would I find material on how to get started developing plugins
> for 2.0?

ImageJ2 supports several different kinds of plugins. You probably want a
"command" which is a runnable operation that takes certain parameters as
inputs, and produces others as outputs.

The web site has a brief discussion of commands here, with an example:
    http://developer.imagej.net/extensibility

And check out the ImageJ2 Tutorials:
    https://github.com/imagej/imagej-tutorials

We plan to add many more tutorials over the next months as we prepare for
the first 2.0.0 release.

You can also study the various commands present in the ij-commands-*
projects. For example, check out ParameterTester (press Ctrl+Shift+T in
Eclipse to quickly locate classes) for an illustration of the supported
input types.

Lastly, we did an "ImageJ2 Plugins" workshop at the 2012 ImageJ Conference
in Luxembourg last week. Those examples are currently posted at:
    http://fiji.sc/ijconf/

...and they will be committed to the Git repository soon.

Regards,
Curtis


On Wed, Oct 31, 2012 at 2:32 PM, Calem Bendell <calembendell at live.com>wrote:

> Great!  Will recompile it on Eclipse.  Also, I know the program is set up
> to work on Eclipse, NetBeans, and IntelliJ.  I am familiar with all of
> these IDEs, but usually a project works more happily with one of them than
> the others.  Which IDE do you suggest?****
>
> ** **
>
> Also, as a newcomer to ImageJ, my primary goal write now is to quickly
> convert a MatLab project into an ImageJ Plug-in (though I believe I may
> move on to help develop the ImageJ core later on).  For making an ImageJ
> plugin, I haven’t been able to find much about how to go about that for
> ImageJ 2.0.  I imagine that you guys would prefer plug-ins were developed
> compatible to 2.0 as soon as possible, so I’d like to make the plug-in and
> design it for 2.0 (even if it isn’t officially released).  Basically, where
> would I find material on how to get started developing plugins for 2.0?***
> *
>
> ** **
>
> Thanks!****
>
> Calem ****
>
> ** **
>
> *From:* ctrueden.wisc at gmail.com [mailto:ctrueden.wisc at gmail.com] *On
> Behalf Of *Curtis Rueden
> *Sent:* October-31-12 3:27 PM
>
> *To:* Calem Bendell
> *Cc:* ImageJ Developers
> *Subject:* Re: Trouble Building the Maven Project for ImageJ****
>
> ** **
>
> Hi Calem,****
>
> > I have tried on a machine with Win7 and with Win8, always using****
>
> > Eclipse 4.2 and once using Git GUI and once using Eclipse eGit.****
>
> ** **
>
> I was able to duplicate the problem in my Windows VM. The problem is now
> fixed with the latest code on the master branch. (If you are curious: the
> bug resulted from Windows's convention of backslash rather than forward
> slash for directory separator.)****
>
> ** **
>
> Please let us know if you still have any trouble!****
>
> ** **
>
> Regards,****
>
> Curtis****
>
> ** **
>
> ** **
>
> On Tue, Oct 30, 2012 at 12:06 PM, Calem Bendell <calembendell at live.com>
> wrote:****
>
> I have tried on a machine with Win7 and with Win8, always using Eclipse
> 4.2 and once using Git GUI and once using Eclipse eGit.****
>
>  ****
>
> I’m going to try again today using NetBeans 7.3.****
>
>  ****
>
> Will send anything further to the developer list.****
>
>  ****
>
> Thanks!****
>
>  ****
>
> *From:* ctrueden.wisc at gmail.com [mailto:ctrueden.wisc at gmail.com] *On
> Behalf Of *Curtis Rueden
> *Sent:* 30 October 2012 12:49
> *To:* Calem Bendell
> *Cc:* ImageJ Developers
> *Subject:* Re: Trouble Building the Maven Project for ImageJ****
>
>  ****
>
> Hi Calem,****
>
>  ****
>
> > Sorry to be bothering you about this individually, but I noted that****
>
> > almost every file I see in ImageJ has an @author Curtis Rueden at the***
> *
>
> > top of it.  After not having much luck, I figured I’d ask you!****
>
>  ****
>
> The best place to get help with ImageJ2 developer topics is the
> imagej-devel mailing list [1].****
>
>  ****
>
> > It seemed curious that I couldn’t build the project directly after****
>
> > pulling it from the Git (imported into Eclipse using eGit with Maven).**
> **
>
>  ****
>
> Most of the ImageJ2 developers use the same set of tools, so it is strange
> that you are having this problem.****
>
>  ****
>
> Are you using Eclipse 3.7 or later? Earlier versions of Eclipse and M2E
> had many bugs.****
>
>  ****
>
> > Is this caused by a problem in my overall setup?  I’m trying to****
>
> > develop a plugin for ImageJ, but getting the program up and running in**
> **
>
> > a development environment is being a lot more difficult than I****
>
> > expected.****
>
>  ****
>
> I am sorry that you have had trouble getting set up. We have tested on a
> variety of configurations (various OSes, and IDEs including Eclipse,
> NetBeans and IDEA, as well as command line with vim + mvn) and all these
> options are intended to be largely painless to configure.****
>
>  ****
>
> Anyway, without more information, it is difficult to say why you are
> getting that NPE. Have you tried building and running from the command line
> [2]? Have you tried the same procedure from a second machine? Have you
> tried cloning the source code from outside Eclipse (e.g. "git clone git://
> github.com/imagej/imagej.git") and then using "File > Import > Existing
> Maven Projects" on that folder?****
>
>  ****
>
> Regards,****
>
> Curtis****
>
>  ****
>
> [1] http://developer.imagej.net/mailing-lists****
>
> [2] http://developer.imagej.net/command-line****
>
>  ****
>
>  ****
>
> On Fri, Oct 26, 2012 at 5:34 PM, Calem Bendell <calembendell at live.com>
> wrote:****
>
> Hey Curtis,****
>
>  ****
>
> Sorry to be bothering you about this individually, but I noted that almost
> every file I see in ImageJ has an @author Curtis Rueden at the top of it.
> After not having much luck, I figured I’d ask you!****
>
>  ****
>
> I’m having difficulty running Main for the ImageJ 2.0.  ****
>
>  ****
>
> Exception in thread "main" java.lang.ExceptionInInitializerError****
>
>       at imagej.Main.main(*Main.java:53*)****
>
> Caused by: *java.lang.NullPointerException*****
>
>       at imagej.ImageJ.<clinit>(*ImageJ.java:65*)****
>
>       ... 1 more****
>
>  ****
>
> I get that error at these lines:****
>
>       /** *@deprecated* Use {@link ImageJ#getVersion()} instead. */****
>
>       @Deprecated****
>
>       *public* *static* *final* String VERSION =****
>
>             POM.*getPOM*(ImageJ.*class*, "net.imagej", "ij-core"
> ).getVersion();****
>
>  ****
>
> When I delete those, I get dozens of warnings and then finally a
> NullPointerException.  I haven’t figured out how to point to
> ImageJ#getVersion, and it seemed curious that I couldn’t build the project
> directly after pulling it from the Git (imported into Eclipse using eGit
> with Maven).  So I figured it’d be best to ask rather than start messing
> with large portions of the code directly after pulling.****
>
>  ****
>
> Is this caused by a problem in my overall setup?  I’m trying to develop a
> plugin for ImageJ, but getting the program up and running in a development
> environment is being a lot more difficult than I expected.****
>
>  ****
>
> Thanks for any help!****
>
>  ****
>
> --****
>
> Calem Bendell****
>
> McGill University****
>
> Computer Science Department ****
>
>  ****
>
> ** **
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20121031/b3986cd0/attachment-0001.html>


More information about the ImageJ-devel mailing list