Netbeans and a subset of a JDK workspace

daniel fuchs Daniel.Fuchs at Sun.COM
Thu Oct 9 00:45:45 PDT 2008


Hi Brad,

You could have a look at how the make/netbeans/jmx project is
defined.
This is a project that only compiles a subset of the jdk sources
(the JMX sources) put them in a jmx.jar and then prepend that jar
to the bootclasspath.

For us using the latest promoted JDK7 build with our work-in-progress
jmx.jar in the bootclasspath is usually sufficient for 
developing/testing/debugging purposes.


Hope this helps,

-- daniel
http://blogs.sun.com/jmxetc

Brad Wetmore wrote:
> I'd recently drunk a bit (lot?) of the netbeans 6.1 Kool-Aid.  Wow, what 
> an improvement over 4.1.  I swore that I'd rather die using vi after 
> that initial netbeans experience, but here I am!  ;)
> 
> If I open the "jdk/make/netbeans/j2se" project, I might as well walk 
> away and have lunch.  The internal indexing/compiling of the entire j2se 
> project simply takes forever on my relatively fast machine, with the 
> majority of the time being in the internal compilation.  I'd really like 
> to just limit the sources to specific code of interest (core libs, 
> networking, security).  (What's this Swing thing I hear people talk 
> about...  ;) )
> 
> A big optimization that seems to be working for me is the following:
> 
> 0)   Install netbeans 6.1
> 
> 1)   Clone/build (using gnumake) a jdk workspace (say JSN) as usual.
> 
> 2)   Go to Tools->Java platforms.
> 
>      Add the built platform but do not include links to the sources.
>      Call this "jsn-gate:  no sources"  We'll set the source
>      locations in the project in the next step.
> 
> 3)   Create a new project from existing sources (jdk/src/shared,
>      jdk/src/solaris, etc).  Include only the JDK
>      sources I care about (core libs, networking, security),
>      everything else will be excluded.  For
>      example:
> 
>   =java/lang/, java/math/, java/net/, java/nio/, java/security/,
>    java/text/, java/util/, javax/crypto/, javax/net/, javax/security/,
>    javax/smartcardio/, javax/xml/crypto/, sun/io/, sun/launcher/,
>    sun/misc/, sun/net/, sun/nio/, sun/security/, sun/text/, sun/tools/,
>    sun/util/, com/sun/security/, com/sun/crypto/, com/sun/net/
> 
>      In the properties menu for this project, link this project to the
>      JDK platform just created in step 2 (jsn-gate: no sources).
>      This seems to internally compile only the sources I care about, not
>      the whole world!
> 
>      Use this configuration to do your library development.  When you
>      want to compile, do so in a separate window (that is, don't use the
>      netbeans ant build, but use gnumake as usual).
> 
> 4)   For testing:  Like in 2a, create a new jdk platform based on the
>      build, but this time include links to all the sources in
>      open/shared, open/solaris, etc.  Call this "jsn-gate."
> 
>      Now create a new project with a simple test case.  Link with the
>      platform "jsn-gate".  Then when you want to debug and step into
>      the core libraries, you have *ALL* the sources you need, but
>      without them being internally compiled.  Indexing seems to take
>      much less time.  This also has all the javadoc as well.
> 
> Is there an easier/faster way? This environment comes up in 30 seconds 
> or so, and drilling into the source packages takes about 10 seconds the 
> first use.
> 
> Note I am *NOT* an expert in projects, maybe someone has already figured 
> this out?  Looking at a few of these related projects in the 
> jdk/make/netbeans directories, they look like they're being done in the 
> same way as j2se.
> 
> Thanks,
> 
> Brad
> Potential Netbeans Convert-  ;)




More information about the nb-projects-dev mailing list