Netbeans and a subset of a JDK workspace
Brad Wetmore
Bradford.Wetmore at Sun.COM
Thu Oct 16 08:47:47 PDT 2008
>> One of the other current limitations of the default projects was that
>> the "j2se" project didn't index the build/<arch>/gensrc directory
>> where java/nio/ByteBuffer and friends live (bug 6628175). I was able
>> to get the directories to show up in the file lister, but not hooked
>> into the auto-completion/compilation mechanism. I ended up talking to
>> David Bristor, this group's moderator. He had started working on the
>> gensrc problem, but got 1/2 of it finished before he left Sun. I was
>> able to get the second half, so it's working now.
>>
>> I am now hooking in all the closed source directories as well.
>>
>> Once everything gets auto-compiled (15-20 minutes) and loaded into
>
> What is this "auto-compilation" is actually doing? I mean, if I have
> a fully built j2se workspace, shouldn't everything be compiled already?
Someone stop me if I say something wrong, I'll still a relative noob
(i.e. newbie, beginner, hack) in netbeans! I'm making some best guesses
based on my experiences over the past week.
A little background first. In normal Java projects, there is a target
platform. You target your app to a specific JDK, and it uses the built
binaries for the Java class signatures. As an aside, by default the
source .zip in the JDK is used for the javadoc/sources. You can specify
an actual workspace:
<jdk-ws-home>/src/share/classes
<jdk-ws-home>/src/solaris/classes
<jdk-ws-home>/src/windows/classes
and get the full javadocs for the internal classes as well. And when
you are in the debugger, if you go to the debugger's sources window, you
can enable these directories in order to step into these methods. VERY
HANDY!
> What is this "auto-compilation" is actually doing? I mean, if I have
> a fully built j2se workspace, shouldn't everything be compiled
> already?
That's what I would have thought, but that's not what I'm seeing. My
guess is that it's because the current netbeans j2se project is set up
as a free-form project, and thus doesn't specify a target platform.
Yes, it does include a destination dir, but not a platform. Thus, it
needs to go through all of the source directories, and compile all the
classes into signatures into:
<$HOME>/.netbeans/.../var/cache
To avoid this massive initial first compilation, one of my first
attempts at trying to set up a project using a built JDK binary as the
target platform got really close, but ran into some type of
auto-compilation problem. Each file I open recompiled the world. And
it only occurred when I attached sources to other unrelated platforms.
Otherwise, it was working pretty well.
> I find that tweaking the default heap settings (doubling them) improves
> things. Otherwise sooner or later you'll run into OOE.
I'm running this on a server-class machine and displaying back to my
desktop, but that's not a bad idea. I haven't hit an OOME yet.
Brad
More information about the nb-projects-dev
mailing list