項目開發中在對圖片進行裁切處理的時候,有時候是會使用到 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 ,而且rt.jar要拷貝到jre路徑之外,如下:
<!-- 使用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>