<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div><br></div><div>I've been developing an application on the Mac, but the target audience will be cross platform. &nbsp;I've just discovered that the application doesn't compile on either Windows or Linux on Java 6. &nbsp;The compiler is complaining that one of the sun.* package I'm importing doesn't exist. &nbsp;I'm very well aware that linking to these packages is strongly discouraged, but I was wondering whether perhaps it is now enforced? &nbsp;I have the following file:</div><div><div><span class="Apple-style-span" style="font-family: Times; font-size: 16px; "><pre><a name="l1"><span class="s0" style="color: rgb(0, 0, 128); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">import </span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">sun.reflect.misc.MethodUtil; 
</span></font></span></a><a name="l2"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; "> 
</span></font></a><a name="l3"><span class="s0" style="color: rgb(0, 0, 128); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">public class </span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">Test { 
</span></font></span></a><a name="l4"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">    </span></font><span class="s0" style="color: rgb(0, 0, 128); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">public static void </span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">main(String[] args) </span></font></span><span class="s0" style="color: rgb(0, 0, 128); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">throws </span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">NoSuchMethodException { 
</span></font></span></a><a name="l5"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">        MethodUtil.getMethod(Test.</span></font><span class="s0" style="color: rgb(0, 0, 128); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">class</span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">, </span></font></span><span class="s2" style="color: rgb(0, 128, 0); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">"main"</span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">, </span></font></span><span class="s0" style="color: rgb(0, 0, 128); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">new </span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">Class[]{String[].</span></font></span><span class="s0" style="color: rgb(0, 0, 128); font-weight: bold; "><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">class</span></font></span><span class="s1"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">}); 
</span></font></span></a><a name="l6"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">    } 
</span></font></a><a name="l7"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 11px; ">} </span></font></a></pre></span></div><div>This file will:</div><div>* Compile on all platforms under Java 5</div><div>* Compile on all platforms when compiled in IntelliJ IDEA</div><div>* Compile on Java 6 using javac on the Mac.</div><div>* Fail to compile on Linux and Windows using Java 6 javac.</div><div><br></div><div>The package is located in classes.jar on the Mac and in rt.jar on all other platforms. &nbsp;In other words, this class should compile without any classpath argument. &nbsp;Also of interest, is that referencing classes in the com.sun.* packages will work but generate a warning. &nbsp;I can only conclude that there is something about the Java 6 compiler that is actively preventing me from linking to sun.* packages.</div><div><br></div><div>Is this true?</div><div><br></div><div>Brendon McLean.</div><div><br></div></div></body></html>