使用异常错误/警告编译Java USB程序

时间:2013-04-09 05:46:57

标签: java usb compiler-warnings properties-file

我正在开发一个USB读取Java程序来获取连接的USB设备的名称。这是我写的代码:

import java.io.UnsupportedEncodingException;
import java.util.List;
import javax.usb.*;
import javax.usb.UsbDevice;
import javax.usb.UsbDisconnectedException;
import javax.usb.UsbException;
import javax.usb.UsbHostManager;
import javax.usb.UsbHub;
import javax.usb.UsbServices;

public class ListUsbDevices {
    public static void main(String[] args) throws SecurityException, UsbException, UnsupportedEncodingException, UsbDisconnectedException {
        UsbServices services = UsbHostManager.getUsbServices();
        UsbHub rootHub = services.getRootUsbHub();

        List<UsbDevice> devices = rootHub.getAttachedUsbDevices();
        if (devices.size() > 0) {
            System.out.println("USB devices found.");
        } else {
            System.out.println("No USB devices found.");
        }

        for (UsbDevice device : devices) {
            System.out.println("\tProduct String " + device.getProductString());
            System.out.println("\tManufacturer String " + device.getManufacturerString());
            System.out.println("\tSerial Number " + device.getSerialNumberString());
        }
    }
}

编译此程序时,会显示此警告:

Note: ListUsbDevices.java uses unchecked or unsafe operations.
Recompile with -Xlint:unchecked for details.

我使用-Xlint:unchecked重新编译,它显示了这一点:

 ListUsbDevices.java:21: warning: [unchecked] unchecked conversion
     found   : java.util.L
     required: java.util.List<javax.usb.UsbDevice>
     List<UsbDevice> devices = rootHub.getAttachedUsbDevices();
                                          ^.

但是创建了类文件。

当我运行这个程序时,我得到了这个例外:

Exception in thread "main" javax.usb.UsbException: Properties file
javax.usb.properties not found.

我该如何解决这个问题?如何在Mac中设置属性文件?我用这个设置了CLASSPATH:

export CLASSPATH=.:/Users/sakkisetty/Documents/jsr80-1.0.1.jar

但我不确定是否有效。任何指针都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

属性文件通常是本机包的一部分。我甚至都不知道OSX的实现。

javax.usb FAQ提供了如何为Linux设置它的示例。