<AWT Dev> Can't compile (external) code against sun.awt.event package?

Phil Race philip.race at oracle.com
Wed Sep 28 14:39:48 PDT 2011


javac -XDignore.symbol.file=true

although since the whole intent of the behaviour is to discourage external code
from accessing sun.* classes etc, this isn't something that's prominently
documented.

-phil.


On 9/28/2011 2:30 PM, Mario Torre wrote:
> Hi Phil,
>
> Thanks for the explanation. Since we compile cacio against the rt.jar that would make sense...
>
> On the other end, this is a problem, since building cacio will require a source distribution now... Is there any way to force javac to tolerate "friendly" code?
>
> Cheers,
> Mario
> ---
> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
> Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF
>
> http://www.ladybug-studio.com
>
> IcedRobot: www.icedrobot.org
> Proud GNU Classpath developer: http://www.classpath.org/
> Read About us at: http://planet.classpath.org
> OpenJDK: http://openjdk.java.net/projects/caciocavallo/
>
> Please, support open standards:
> http://endsoftpatents.org/
>
>
>
>
> Il giorno 28/set/2011, alle ore 23:19, Phil Race ha scritto:
>
>> jSince JDK 1.6, javac has disabled access to new *internal* classes/packages.
>> But it only operates when compiling against an rt.jar image, not your just built class files ..
>> So I'd suppose that sun.awt.event was new in 1.6 or later.
>>
>> -phil.
>>
>> On 9/28/2011 2:05 PM, Roman Kennke wrote:
>>> Hi,
>>>
>>> I am trying to compile the Cacio project against vanilla OpenJDK7. One
>>> of the classes references IgnorePaintEvent. This class cannot be
>>> compiled:
>>>
>>> [INFO] Compilation failure
>>>
>>> /home/roman/src/hg/caciocavallo/shared/src/main/java/sun/awt/peer/cacio/CacioComponentPeer.java:[70,20] error: package sun.awt.event does not exist
>>> /home/roman/src/hg/caciocavallo/shared/src/main/java/sun/awt/peer/cacio/CacioComponentPeer.java:[726,20] error: cannot find symbol
>>>
>>>
>>>
>>> It used to work when I explicitely set the bootclasspath to an OpenJDK
>>> build that I just built before (snippet from ant script:
>>>
>>>          <javac srcdir="${dir.src.shared.classes}"
>>>                 destdir="${dir.build.shared.classes}"
>>>                 bootclasspath="${openjdk}/classes"
>>>                 debug="${compile.debug}"
>>>                  />
>>>
>>> However, now that JDK7 is out I was thinking it would be great to
>>> compile against a vanilla OpenJDK7 rt.jar. I verified that the class is
>>> in that rt.jar and that I am really using the JDK7 javac. I wonder why
>>> javac cannot find it. Cacio code uses a lot of other internal classes
>>> (sun.awt.AppContext, sun.awt.SunToolkit, etc etc) and it only issues
>>> warnings about those. I think I must be missing something...
>>>
>>> Regards, Roman
>>>




More information about the awt-dev mailing list