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

Reply via email to