Javaを使用してシリアルポートと通信するプロジェクトに取り組んでいます。次のコードをテストするためにデバイスをシリアルポートに接続する必要がありますか?Linuxプラットフォーム用のシリアルポートにアクセスする
Enumeration ports = CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements()) {
CommPortIdentifier port = (CommPortIdentifier) ports.nextElement();
String type;
switch (port.getPortType()) {
case CommPortIdentifier.PORT_PARALLEL:
type = "Parallel";
break;
case CommPortIdentifier.PORT_SERIAL:
type = "Serial";
break;
default: /// Shouldn't happen
type = "Unknown";
break;
}
System.out.println(port.getName() + ": " + type);
}
このコードを動作させるためのあらゆる解決策。次のように現在、私はエラーを取得しています。(シリアルポートに任意のデバイスを装着せずに。
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sun.comm.SunrayInfo.isSessionActive()Z
at com.sun.comm.SunrayInfo.isSessionActive(Native Method)
at com.sun.comm.Portmapping.registerCommPorts(Portmapping.java:155)
at com.sun.comm.Portmapping.refreshPortDatabase(Portmapping.java:100)
at javax.comm.CommPortIdentifier.<clinit>(CommPortIdentifier.java:138)
at PortTest.main(PortTest.java:9)
Java Result: 1
を、私は、JREとCOMMを設定した。私はそれを行うにはthisブログを追ってきました。
http://www.agaveblue.org/howtos/Comm_How-To.shtml私はシステムを設定するためにこの投稿に従っています。 – Joe
私はシリアルポートへの接続とちょっと混乱します。現在、私のシリアルポートにはデバイスが接続されていません。それのためにこれですか? Linuxで仮想シリアルポートを作成できますか?私はfedora OSを使用しています。 – Joe
これはひどく時代遅れですが、最新のLinux版をダウンロードしていれば、少なくとも正しいファイルがあります。あなたが得るエラーは、javaが '.so'(ネイティブライブラリ)ファイルを見つけることができないことを意味します。ライブラリパスは 'System.out.println(System.getProperty(" java.library.path "));でチェックすることができます - ' .so'ファイルはそれらのいずれかにある必要があります。 –