【发布时间】:2014-02-21 23:00:06
【问题描述】:
我知道这个问题已经在互联网上被问过好几次了,但我花了大约一周的时间试图解决这个问题,但运气不佳。
我正在尝试在远程 linux Ubuntu 11.0、32 位服务器上安装 JavaCommAPI(一个存档的 Java 包,以允许与 rs232 通信),以便部署我在本地 apache 服务器上开发的 Web 项目我的 Windows 电脑。
令我困惑的是,通过正确放置 javax.comm.properties、comm.jar 和libSerialParallel.so 文件放在各自的位置。
我使用 System.getProperty("java.library.path");为了找到正确的库路径以安装正确的文件。
在我的 LinuxMint16 上:
javax.comm.properties -- /usr/lib/jvm/java-7-openjdk-i386/jre/lib
comm.jar -- /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext
libSerialParallel.so -- /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386
....有效!
在我的远程 Ubuntu 服务器上我对其报告的库路径执行了完全相同的操作
(例如:/usr/local/jdk/jdk1.7.0_45/jre/lib/javax.comm.properties;
/usr/local/jdk/jdk1.7.0_45/jre/lib/ext/comm.jar;
/usr/local/jdk/jdk1.7.0_45/jre/lib/i386/libSerialParallel.so)
...失败 =(
注意事项:我在 Eclipse 中使用 BuildPath 向导将所需的 apache jar 和 comm.jar 添加到了我的库中(右键单击项目 --> 构建路径 --> 添加外部 jar)它指向我 PC 上的本地文件,我显然不能将其用于仅通过命令行访问的远程服务器。这可能会以某种方式影响它吗?
我尝试将 Java 控制台的错误输出 (System.err) 打印到我的远程服务器的单独文件中,因为该反馈对于在我的 LinuxMint PC 上对所有文件进行排序非常有帮助。
PrintStream ps = new PrintStream(pathName);
System.setOut(ps);
System.setErr(ps);
再一次,奇怪地工作很漂亮,可以将流打印到我的 LinuxMintPC 上的本地 .txt 文件,但不能打印到我在远程 ubuntu 服务器上指定的文件。
我真的在这里束手无策!!我是否混合和匹配适当版本的系统,禁止事情顺利运行?我不知道如何从这里开始,如果有人有任何见解,我会幸福地死去。谢谢
【问题讨论】:
标签: linux apache ubuntu javax.comm library-path