0 Replies Latest reply: May 19, 2010 3:06 PM by 843810 RSS

    proper way to access classes in rt.jar not contained in ct.sym

      package com.sun.net.httpserver is contained in jdk1.6.0_20 rt.jar; also package sun.net.httpserver.

      source can be found in openjdk6 -- and i have made use of source to compile both packages -- when
      both packages sources are in same project.

      i can compile package sun.net.httpserver alone as a netbeans project without problems.

      when only package com.sun.net.httpserver is a netbeans project it will not compile -- cannot find package
      sun.net.httpserver. but sun.net.httpserver is part of rt.jar.

      i received the following info on netbeans mailing list:

      The javac since JDK6 does not compile against rt.jar, but against a special symbol file
      (lib/ct.sym). This file does not contain private classes introduced in JDK6, including the one required
      by "comSunNetHttpserver5/src/com/sun/net/httpserver/spi/HttpServerProvider.java"
      from your project. If needed, the current javac allows to override this behavior using the following
      compiler argument:
      (AFAIK this is a private option that may be removed in the future.)

      what i would like to know is how to access classes in rt.jar without using the "-XDignore.symbol.file" flag ???

      with netbeans it does not work to simply add rt.jar as a library jar to the project.

      what if i un-jar-ed rt.jar into a directory -- and then added the classes i want to reference to my project ???

      this would be a bigger issue if i wanted to compile package com.sun.net.httpserver -- and the openjdk6 sources
      did not contain the package sun.net.httpserver.

      if i make a netbeans project application to make use of package com.sun.net.httpserver -- there are no issues;-- yet
      a netbeans project of package com.sun.net.httpserver sources will not compile unless i also have sun.net.httpserver sources;