<AWT Dev> Can't compile (external) code against sun.awt.event package?
Roman Kennke
roman at kennke.org
Wed Sep 28 15:14:26 PDT 2011
Am Mittwoch, den 28.09.2011, 14:39 -0700 schrieb Phil Race:
> 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.
Cool that worked. This is perfect for us, because cacio is more or less
intended as a quasi-internal external library. Our initial hope was to
get it included in openjdk to avoid messing with the bootclasspath (at
runtime) but it seems this is not needed anymore since jdk7 (partly
thanks to our initial cacio refactoring, FontManager,
GraphicsEnvironment and such). This means that AWT peers can now be
plugged in as separate JAR by putting into the normal classpath.
Cheers, Roman
>
> -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