使用ANT編譯項目報錯 com.sun.image.codec.jpeg does not exist 解決方法

項目開發中在對圖片進行裁切處理的時候,有時候是會使用到 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>  


發佈了262 篇原創文章 · 獲贊 50 · 訪問量 274萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章