Приложения на SWT на всех платформах выглядят именно как родные. Для работы с последовательными портами уже советовали rxtx (хотя у меня у самого дело не дошло попробовать). Если не устраивает — можно вызывать системные функции через JNI, или же поудобнее, без писания Си-кода — через JNA (Java Native Access).
А смысл? Игнорируют различные рабочие и временные файлы, которые могут исчезать и появляться. Всё остальное — надо хранить. А то ведь ещё можно забыть добавить новый нужный файл, и никто и не напомнит.