Login  Register

Help with Netbeans and plugins

Posted by Todd V. Rovito on Dec 23, 2007; 2:36pm
URL: http://imagej.273.s1.nabble.com/Help-with-Netbeans-and-plugins-tp3697701.html

Hello fellow ImageJers,
I have been using ImageJ and writing plugins for ~ 8 months now. Things
have been going great! I currently use a bare development environment
with just the Sun JDK version on RedHat Enterprise Linux version 5.0.
Essentially I am using the Linux install of ImageJ version 1.37 and only
compiling my plugins. While this has worked for me I would like to
graduate to the Netbeans environment. Netbeans IDE would work better for
other people on the project.

Let me review my old development environment (don't laugh).
If I compile my plugins by hand using the following command (which I
placed in a makefile) everything works fine:

/opt/jdk1.5.0_14/bin/javac -cp
/usr/local/ImageJ/ij.jar:/opt/jdk1.5.0_14/lib/tools.jar,/home/rovitotv/AngelFireRoot/AngelFire/Utilities/ImageJPlugins
RAW_Side_By_Side_Reader_NightStare.java

I get a class file with no warnings or errors on the compile. I then
copy the class file to my ImageJ plugin directory and run ImageJ. The
plugin functions perfectly within ImageJ, I get the expected result!

Let me review the new Netbeans development setup. I followed the
directions posted here:
http://rsb.info.nih.gov/ij/developer/NBTutorial.html

I have installed Netbeans 6.0 since it is the latest with JDK 1.5.0_14.
So I follow the instructions and everything seems to work when I get
past the step "Building ImageJ with NetBeans" I have a ij.jar in the
~/NetBeansProject/ij138x folder. If I do a clean and build of the imageJ
project I get the following in the output:
clean:
clean:
Deleting directory /home/rovitotv/NetBeansProjects/ij138x/build
Deleting: /home/rovitotv/NetBeansProjects/ij138x/ij.jar
build:
compile:
Created dir: /home/rovitotv/NetBeansProjects/ij138x/build
Compiling 241 source files to /home/rovitotv/NetBeansProjects/ij138x/build
/home/rovitotv/NetBeansProjects/ij138x/ij/plugin/ScaleBar.java:81:
warning: unmappable character for encoding UTF8
units = "?m";
/home/rovitotv/NetBeansProjects/ij138x/ij/plugin/ScaleBar.java:161:
warning: unmappable character for encoding UTF8
units = "?m";
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 warnings
build:
Copying 1 file to /home/rovitotv/NetBeansProjects/ij138x/build
Copying 1 file to /home/rovitotv/NetBeansProjects/ij138x/build
Copying 1 file to /home/rovitotv/NetBeansProjects/ij138x/build
Copying 1 file to /home/rovitotv/NetBeansProjects/ij138x/build
Copying 11 files to /home/rovitotv/NetBeansProjects/ij138x/build/macros
Building jar: /home/rovitotv/NetBeansProjects/ij138x/ij.jar
BUILD SUCCESSFUL (total time: 8 seconds)

Two warnings but at this point I am not too worried. Without adding any
plugins if I select "Run Main Project" ImageJ runs and the "About
ImageJ" dialog box shows ImageJ 1.38x with Java 1.5.0_14. ImageJ reads
files and allows me to make histograms. I can do the exact same thing
with the "Debug Main Project" option in Netbeans. At this point I am a
happy!

Now onto the plugins instructions are under "Compiling and Debugging
Plugins". I copy a plugin that builds and runs with my initial
development method as described above into
~/NetBeansProjects/ij138x/plugins. If I click on plugins and then
<default package> in the Netbeans project view the plugin java file
appears. I execute step 5 "Go to Build>Compile "(The name of your
plugin)" everything seems to compile fine. The output of "ImageJ
(compile-selected-files-in-plugins) looks like this:

compile-selected-files-in-plugins:
compile-selected-files-in-plugins:
BUILD SUCCESSFUL (total time: 0 seconds)

I then have a class file called
RAW_Side_By_Side_Reader_NightStare.class. Again if I take the class file
that Netbeans built and I place it into my running installation of
ImageJ in /usr/local/ImageJ/plugins/AngelFire sure enough it runs
perfectly!

Here is my problem when I get to step 16:
"Go to Run>Debug Main Project (ImageJ will run. The plugin you created
will be in the plugins menu)"

I get the following output in ImageJ(debug-nb):
debug-nb:
Duplicated project name in import. Project ImageJ defined first in
/home/rovitotv/NetBeansProjects/ij138x/nbproject/nbjdk.xml and again in
/home/rovitotv/NetBeansProjects/ij138x/build.xml
compile:
Compiling 1 source file to /home/rovitotv/NetBeansProjects/ij138x/build
/home/rovitotv/NetBeansProjects/ij138x/plugins/RAW_Side_By_Side_Reader_NightStare.java:82:
cannot find symbol
symbol : method format(java.lang.String,int,int)
location: class java.lang.String
filename = String.format("%1$06d-%2$06d.pos", 0, FrameNum);
/home/rovitotv/NetBeansProjects/ij138x/plugins/RAW_Side_By_Side_Reader_NightStare.java:125:
cannot find symbol
symbol : method format(java.lang.String,int,int)
location: class java.lang.String
filename = String.format("%1$06d-%2$06d.raw", 0, FrameNum);
/home/rovitotv/NetBeansProjects/ij138x/plugins/RAW_Side_By_Side_Reader_NightStare.java:135:
cannot find symbol
symbol : method format(java.lang.String,int,int)
location: class java.lang.String
filename = String.format("%1$06d-%2$06d.raw", CamNum, FrameNum);
3 errors
/home/rovitotv/NetBeansProjects/ij138x/nbproject/nbjdk.xml:23: The
following error occurred while executing this line:
/home/rovitotv/NetBeansProjects/ij138x/build.xml:9: Compile failed; see
the compiler error output for details.
BUILD FAILED (total time: 0 seconds)

At this point I am stuck! I don't understand why this code does not
build when it builds perfectly calling javac by hand. This must be a
problem with my Netbeans configuration. Can anybody help? Thanks.