我想使用 Java 8/11 在 macOS Monterey (12.0.1) 上訪問 PC/SC Reader (Reiner SCT)。(javax.smartcardio已經在Java 11 中作業)。使用 Java 版本,
TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();
回傳一個空的讀者串列。我已經為 OS X Big Sur發現了類似的問題。因此我試圖用引數作為 CLI 引數來啟動我的應用程式
-Dsun.security.smartcardio.library="/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"
也可以通過運行時代碼
System.setProperty("sun.security.smadtcardio.library", "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC");
- 但串列保持為空。
當我/System/Library/Frameworks/PCSC.framework/Versions/Current/在 Mac 上列出檔案夾的內容時,PCSCmacOS Monterey 上沒有(只有Resources、XPCServices和_CodeSignature)。因此,我認為缺少某些東西。
所以問題是,我需要做什么才能javax.smartcardio在 macOS Monterey 上作業。
uj5u.com熱心網友回復:
選項System.setProperty對我有用。
就我而言,唯一的問題是,屬性名稱中存在拼寫錯誤。正確的屬性名稱是sun.security.smartcardio.library
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/401009.html
