[英]How to override JRE native libraries?
是否可以在我自己的位置覆蓋帶有庫的JRE本機庫? 我嘗試使用-Djava.library.path=...
但是當我檢查lsof -p
,該進程仍在使用JRE副本。
背景:在Mac OS X上的Oracle JRE 7中, javax.security.smartcardio
庫已損壞。 如果您經常調用list(),則會出現段錯誤。 但由於修復很簡單(不正確的64位函數簽名),我能夠構建OpenJDK並生成一個固定的libj2pcsc.dylib
庫,我想在不更換系統庫的情況下使用它。
我不知道這是否適合你,但我想到的一個想法是java 擴展機制 。 我自己從未嘗試過,但也許它可以達到你想要的效果。
如果可以將修訂鏈接到共享對象,則可以嘗試通過設置LD_LIBRARY_PRELOAD強制在系統庫之前加載它:
$ LD_LIBRARY_PRELOAD=/path/to/your/libj2pcsc.dylib java com.yourpkg.YourClass
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.