gpt4 book ai didi

javax.comm.CommPortIdentifier.getPortIdentifiers() 在运行 Debian 6 的设备上为空

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:52 25 4
gpt4 key购买 nike

恐怕这可能不是严格意义上的编程问题,而是我需要解决更多问题才能继续我的编程。

我只是想编写一个程序来进行串行通信,特别是使用 javax.comm API,并且我在 Win7 上成功了,但是当我在我的设备上运行任何此类程序时,我没有得到任何输出。该设备运行的是 Debian 6,并且安装了 JDK1.8.0。

为了在 Win7 上运行我的程序,我需要获取 API 并将三个神奇文件 comm.jarwin32comm.dlljavax.comm.properties 放在特定文件夹中,但我不知道如何在我的设备上执行此操作。

有谁知道我是否可以将这三个文件放在任意文件夹中并使用路径环境变量引用它们?

我尝试运行的代码很简单:

package test;
import java.util.Enumeration;
import javax.comm.*;

public class Test {
public static void main(String[] args) {
Enumeration e = CommPortIdentifier.getPortIdentifiers();

while (e.hasMoreElements()) {
CommPortIdentifier com = (CommPortIdentifier) e.nextElement();
System.out.println(com.getName());
}
}

最佳答案

根据http://reprap.org/wiki/JavaComm#Installation_on_Linux您需要多个文件:

commapi/jar/comm.jar
commapi/lib/libLinuxSerialParallel.so
commapi/lib/libLinuxSerialParallel_g.so
commapi/docs/javax.comm.properties

“将 jar 文件放在类路径中的某个位置(例如 usr/java/j2sdk/jre/lib/ext 等位置),将 .so 文件放在 java 的加载库路径中(在我的系统上位于/usr/java/j2sdk/jre/lib/i386 中),以及 javax.comm.properties “java 可以找到它的某个地方” - 在我的系统上,这似乎意味着从运行项目的目录,但必须有一种更简单的方法。”

您可能希望找到用于构建库的源代码,以防二进制文件无法在您的系统上运行并自行编译它们。

有关如何自行执行此操作的线索:

http://www.phidgets.com/phorum/viewtopic.php?f=39&t=3750

https://github.com/rxtx/rxtx.git

关于javax.comm.CommPortIdentifier.getPortIdentifiers() 在运行 Debian 6 的设备上为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23729912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com