2013-04-09 3 views
-1

Я разрабатывал программу чтения USB с USB, чтобы получить имя подключенного устройства 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

Файл свойств обычно является частью собственного пакета. Я даже не знал о реализации для OSX.

Пример того, как установить его для Linux, можно получить по адресу javax.usb FAQ.