本文介紹了我可以為Java本機接口(JNI)庫設置環境變量嗎?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個跨平臺的Java應用程序,它依賴于一些本機(C++)庫來調用執行復雜科學計算的函數。使用JNI(使用SWIG生成的粘合代碼)訪問本機庫。這些庫訪問用于配置和定位各種數據表等的幾個環境變量。
我希望我的Java應用程序能夠設置這些環境變量,至少在JNI庫的上下文中是這樣。如果Java提供了一種在它自己的外殼/上下文中設置環境變量的方法,這會很容易,但它沒有。
similar questions的答案需要更改Java本身或子進程的變量。這個問題是不同的,因為它特別涉及JNI-稱為代碼。我猜想情況是一樣的,因為JNI代碼大概運行在與Java應用程序本身相同的環境中。
然而,我想我應該問問,以防有某些JNI設置或方法可以做到這一點。
推薦答案
您的猜測是正確的。環境變量與流程綁定在一起。JNI和NOT-JNI之間沒有區別。
您應該能夠使用另一個JNI庫來設置環境,以便在同一進程中運行的其他庫可以拾取。
這篇關于我可以為Java本機接口(JNI)庫設置環境變量嗎?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,