項目開發中在對圖片進行裁切處理的時候,有時候是會使用到 com.sun 包下的類時。
假設項目使用ant編譯,會出現錯誤 com.sun.image.codec.jpeg does not exist 這是由於在JDK1.7+時,Oracle不同意使用sun.*的jar
詳細參見http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html 。

項目代碼已經寫好,且直接執行能夠正常使用,僅僅是使用ant編譯會出現錯誤,如今不打算更換項目的詳細實現代碼。不能更換JDK版本號,所以做例如以下處理就可以:
在ANT中明白指定使用這個rt.jar 。例如以下:
<!-- 使用ant編譯。在使用到com.sun包下類時。須要指定rt.jar文件的位置 -->
<path id="JAVA.rt">
<pathelement location="${frameone.runtime}/common/rt.jar" />
</path>
<path id="Project.classpath">
<path refid="JAVA.rt" />
<fileset dir="${project.lib.dir}" includes="*.jar" />
</path>
<target name="build-project" depends="init">
<echo message="${ant.project.name}: ${ant.file}" />
<javac includeantruntime="false" debug="true" debuglevel="${debuglevel}" destdir="${dist.classes.dir.cms}" source="${source}" target="${target}" encoding="UTF-8">
<src path="${src.dir}" />
<classpath refid="Project.classpath" />
</javac>
</target>
事實上上面的方法,可能會不起作用。我們能夠指定javac 參數來忽略這種錯誤,例如以下:
<javac includeantruntime="false" debug="true" debuglevel="${debuglevel}" destdir="${build.dir}/WEB-INF/classes" source="${source}" target="${target}" encoding="UTF-8">
<src path="${src.dir}" />
<compilerarg line="-XDignore.symbol.file"/>
<classpath refid="Project.classpath" />
</javac>
