1

恐怕这可能不是严格意义上的编程问题,但我需要澄清更多内容以继续我的编程。

我只是想编写一个程序来进行串行通信,特别是使用 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());          
        }
}
4

1 回答 1

1

根据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

于 2014-05-19T16:27:07.647 回答