добавить API javax.comm на Mac - PullRequest
       5

добавить API javax.comm на Mac

0 голосов
/ 07 ноября 2011

Я хотел бы создать приложение Java, которое связывается с последовательным устройством (портативным сканером), чтобы приложение не зависело от платформы. Я нашел несколько примеров кода, и когда я копирую их в Eclipse, он говорит, что javax.comm. * Отсутствует. Как мне установить это на моем Mac? И как мне добавить эту библиотеку в мое приложение, чтобы пользователям ничего не нужно было устанавливать?

Я хочу предоставить пользователям файл jar и устройство, и они должны иметь возможность запускать его в Windows / Mac / Linux без небольшой настройки или вообще без нее.

Я нашел загрузку, где я мог скачать файл javax.comm.jar, но в загрузку был включен файл win32comm.dll, от которого зависело, каким образом - по крайней мере, это была ошибка, возникшая при добавлении файла jar в проект.

Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path

Ответы [ 2 ]

3 голосов
/ 07 ноября 2011

Я бы порекомендовал RXTX . Он не использует пакет javax.comm, но использует тот же API (с некоторыми полезными дополнениями).

E1: Оказывается, RXTX 2.0 использует пакет javax.comm. Вы можете найти его на той же странице загрузки.

3 голосов
/ 07 ноября 2011

Это API связи Java.Вы можете получить это здесь , но это вам не поможет.Поддерживаемые платформы: Solaris SPARC, Solaris x86 и Linux x86.

Для Mac и Linux, если последовательный порт уже настроен, вы можете открыть / dev / ttyS0, / dev / ttyS1, / dev / ttyS2и т. д. в виде файла и чтения / записи в него.В Windows, если последовательный порт уже настроен, вы можете открыть «COM1», «COM2» и т. Д., Прочитать и записать в него.

К сожалению, javax.comm (как предусмотрено в эталонной реализации) нене кроссплатформенный, поэтому вам придется либо прибегнуть к связыванию дополнительных собственных библиотек и поддерживающих классов, либо использовать зависящий от платформы способ настройки последовательного порта.В Windows это может быть команда «mode», а в Mac / Linux это может быть команда stty.

...