La javausbapi que se comenta mas atras, no funciona en linux, y la famosa jsr80 en teoria no funciona en windows.
Java es S.O. independiente, pero para cosas como los puertos serie o usb accede a librerias externas (normalmente independientes para cada S.O.)
Asi por ejemplo, la RxTx que es multiplataforma, tiene una dll para windows y una so para linux que debes incluir (ambas) si quieres que ese soft funcione en ambos S.O.
Pero para Usb, yo al menos aun no he encontrado una libreria java comun para varios So. Si tu la conoces te agradeceria si me dices cual es.