天天看點

運作報錯: java.lang.UnsatisfiedLinkError: no jcef in java.library.path

 今天在引入庫檔案時,包了找不到 jcef 的路徑。報錯如下 java.lang.UnsatisfiedLinkError: no jcef in java.library.path

使用的軟體和環境如下:

        系統:Ubuntu

        軟體:interllij

        語言:Java + kotlin

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jcef in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
	at java.lang.System.loadLibrary(System.java:1122)
	at org.cef.CefApp.startup(CefApp.java:523)
	at cn.com.client.WebClientKt.main(WebClient.kt:207)
	at cn.com.client.WebClientKt.main(WebClient.kt)
           

第一種解決方法(直接通過右鍵kotlin檔案運作main方法的):

       在運作配置中的 VM options 添加上所引用的庫的路徑,

      配置如:-Djava.library.path=/home/xxxxx/03_CEF/jcef_build

運作報錯: java.lang.UnsatisfiedLinkError: no jcef in java.library.path

第二種解決辦法:通過gradle進行運作程式的,在 build.gradle 檔案中确認 applicationDefaultJvmArgs 中是否添加了

       -Djava.library.path=/home/xxxxx/03_CEF/jcef_build 路徑配置,

application {
    applicationName = "WebClient"
    mainClassName = "cn.com.client.WebClientKt"
    applicationDefaultJvmArgs=['-Djava.library.path=/home/xxxxx/03_CEF/jcef_build','-Xdebug', '-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=8889']
}
           

如果有,直接運作

運作報錯: java.lang.UnsatisfiedLinkError: no jcef in java.library.path