Help me understand why javac will not compile the following com.apple.eawt snipet
Jonathan Gibbons
jonathan.gibbons at oracle.com
Mon Sep 12 17:38:38 PDT 2011
David,
You may have fallen victim to the mechanism used in javac to "hide" JDK
internal classes in rt.jar from users who ought not to be using them.
javac uses a "symbol file" to determine what symbols in rt.jar are
available for use. To disable this feature, use the hidden option
-XDignore.symbol.file=true
-- Jon
On 09/12/2011 05:12 PM, David Durrence wrote:
> I am porting over a test to jtreg that uses com.apple.eawt. Javac complains about not finding the symbol (com.apple.eawt) in the import statement (and the other invocations of this class).
>
> We verified that the class is present in ../1.7.0.jdk/Contents/Home/jre/lib/rt.jar.
>
> If I copy rt. jar into the source directory and invoke javac using: javac -Xbootclasspath/p:rt. jar Test.java, the source file compiles with no problems. If I use Java SE 6 I do not need to use the -X option.
>
> Is this a feature or a bug? What is going on?
>
>
> // Test.java source
>
> import com.apple.eawt.Application;
>
> public class Test {
> public static void main (String[] args) {
> Application a = Application.getApplication();
> }
> }
>
> javaqa7:EAWT ddurrence$ java -version
> openjdk version "1.7.0-internal"
> OpenJDK Runtime Environment (build 1.7.0-internal-javabuild_2011_09_12_03_02-b00)
> OpenJDK 64-Bit Server VM (build 21.0-b17, mixed mode)
> javaqa7:EAWT ddurrence$ javac Test.java
> Test.java:1: error: package com.apple.eawt does not exist
> import com.apple.eawt.Application;
> ^
> Test.java:5: error: cannot find symbol
> Application a = Application.getApplication();
> ^
> symbol: class Application
> location: class Test
> Test.java:5: error: cannot find symbol
> Application a = Application.getApplication();
> ^
> symbol: variable Application
> location: class Test
> 3 errors
> javaqa7:EAWT ddurrence$ cp /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/jre/lib/rt.jar .
> javaqa7:EAWT ddurrence$ javac -Xbootclasspath/p:rt.jar Test.java
> javaqa7:EAWT ddurrence$
>
>
> ~~~~~~~~~~~~
> David Durrence
> 974-6202
>
>
>
More information about the macosx-port-dev
mailing list