Java 智能卡io-在多次列出连接的卡时,我会遇到SCARD_F_COMM_错误

Java 智能卡io-在多次列出连接的卡时,我会遇到SCARD_F_COMM_错误,java,smartcard,Java,Smartcard,我将连接的卡列示如下: package smartcardio.example import java.security.Security; import java.util.List; import javax.smartcardio.Card; import javax.smartcardio.CardTerminal; import javax.smartcardio.CardTerminals; import javax.smartcardio.CardTerminals.State

我将连接的卡列示如下:

package smartcardio.example

import java.security.Security;
import java.util.List;

import javax.smartcardio.Card;
import javax.smartcardio.CardTerminal;
import javax.smartcardio.CardTerminals;
import javax.smartcardio.CardTerminals.State;
import javax.smartcardio.TerminalFactory;

public class ConnectExample {

    public static void main(String[] args) {
        try {
            Security.insertProviderAt(new SmartcardioProvider(), 1);
            TerminalFactory factory = TerminalFactory.getDefault();
            CardTerminals terminals = factory.terminals();
            while (System.in.available() == 0) {
                List<CardTerminal> list = terminals.list(State.CARD_PRESENT);
                if (list.isEmpty()) {
                    System.out.println("no terminals");
                }
                for (CardTerminal cardTerminal : list) {
                    Card card = cardTerminal.connect("*");
                    System.out.println("" + card);
                    card.disconnect(false);
                }
                if (terminals.waitForChange(100)) {
                    System.out.println("change detected...");
                } else {
                    System.out.println("timeout");
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
(io-smartcard-1.0.0.jar,它是我的.jar,用于打包io智能卡库)

我在RHEL7上运行这个代码

有什么办法解决这个问题吗?
谢谢

我只是好奇:上面的代码是否适用于SunPCSC提供商(即没有intarsys io智能卡库)?我只是好奇:上面的代码是否适用于SunPCSC提供商(即没有intarsys io智能卡库)?
15:41:05,381 WARNING [de.intarsys.security.smartcard.pcsc] (pcsc monitor 1528) de.intarsys.security.smartcard.pcsc.PCSCStatusMonitor@155387cb error monitoring status: de.intarsys.security.smartcard.pcsc.PCSCException: {PCSCException.error.default}[SCARD_F_COMM_ERROR]
15:41:05,385 SEVERE [de.intarsys.security.smartcard.pcsc] (http-/0.0.0.0:8080-2) Failed to establish PC/SC context: de.intarsys.security.smartcard.pcsc.PCSCException: {PCSCException.error.default}[SCARD_F_COMM_ERROR]
        at de.intarsys.security.smartcard.pcsc.PCSCException.checkReturnCode(PCSCException.java:106) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.pcsc.CommonPCSCContext.basicAcquire(CommonPCSCContext.java:102) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.pcsc.CommonPCSCContext.acquire(CommonPCSCContext.java:89) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.pcsc.NativePCSCLib.establishContext(NativePCSCLib.java:45) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.pcsc.NativePCSCContextFactory.establishContext(NativePCSCContextFactory.java:82) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.card.standard.StandardCardSystem.pcscStart(StandardCardSystem.java:106) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.card.standard.StandardCardSystem.updateCardTerminals(StandardCardSystem.java:133) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.card.CommonCardSystem.updateCardTerminals(CommonCardSystem.java:220) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.card.CommonCardSystem.getCardTerminals(CommonCardSystem.java:157) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.card.CardSystemMonitor.start(CardSystemMonitor.java:404) [io-smartcard-1.0.0.jar:]
        at de.intarsys.security.smartcard.smartcardio.CardTerminalsImpl.waitForChange(CardTerminalsImpl.java:241) [io-smartcard-1.0.0.jar:]