運行代碼報libXrender.so.1: cannot open shared object file: No such file or directory


最近一個老項目要部署到另外一個環境,因為jdk,tomcat都是一樣的,操作系統從window service 8 r2換到ubuntu14.04環境。其他的功能都正常(鬼知道還有哪個坑),結果發現驗證碼不好使了。然后從后台發現,居然是ImageIO的類報錯了。提示java.lang.UnsatisfiedLinkError libXrender.so.1: cannot open shared object file: No such file or directory

為了測試方便,特意寫了一個ImageIOTest.java的測試類

import javax.imageio.ImageIO;

public class ImageIOTest{
     static {
          ImageIo.scanForPlugins();
    }  

    public static void main(String[] args){
          System.out.println("ImageIOTest");
    }

}

然后執行javac ImageIOTest.java

編譯通過后執行java ImageIOTest 發現依然報錯了。但是自己的電腦上運行,是可以的(我個人的電腦是win10 64x),這下就不能理解了。難道window的jdk和ubuntu的jdk還有區別?因為除了操作系統不一樣,其他的情況是一致的,開始以為是操作系統導致的問題,但是發現另外一個ubuntu 居然是可以的。(一臉懵逼了)。這下可以排除jdk問題了,

然后各種網上找資料。開始以為是ubuntu缺少so文件,然后准備去下載,突然看到一個情況,說可能是因為XShell的問題。。(貼出原來地址:

tomcat啟動過程中報libXrender.so.1: cannot open shared object file: No such file or directory)

然后就抱着試一試的心態,按照上面說的,去掉對應的設置,重新執行java ImageIOTest后,正常了。果然是這個問題~~因為上面說的是這個配置默認增加了1個環境變量的配置,所以項目是否要重啟,於是繼續抱着試一試的心態,將服務停了后,斷開連接,在重連,啟動tomcat后,圖片果然加載出來了~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM