我知道这个问题已经在互联网上被问过好几次了,但我花了大约一周的时间试图解决这个问题,但运气不佳。
我正在尝试在远程 linux Ubuntu 11.0、32 位服务器上安装JavaCommAPI(一个存档的 Java 包,以允许与 rs232 通信),以便部署我在 Windows PC 上的本地 apache 服务器上开发的 Web 项目。
令我困惑的是,通过正确放置 javax.comm.properties、comm.jar 和 libSerialParallel.so,我能够将 .war Web 项目部署在单独的 32 位 LinuxMint16 PC 上的本地 apache 服务器上文件在各自的地方。
我使用 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)
...失败 =(
注意事项:我使用BuildPath向导(右键单击项目->构建路径->添加外部jar)将所需的apache jars和comm.jar添加到Eclipse中的库中,该向导指向我PC上的本地文件显然不能用于我只能通过命令行访问的远程服务器。这可能会以某种方式影响它吗?
我试图将 Java 控制台的错误输出 (System.err) 打印到我的远程服务器的单独文件中,因为该反馈对于在我的 LinuxMint PC 上对所有文件进行排序非常有帮助。
PrintStream ps = new PrintStream(pathName);
System.setOut(ps);
System.setErr(ps);
再一次,奇怪地工作很好地将流打印到我的 LinuxMintPC 上的本地 .txt 文件,而不是我在远程 ubuntu 服务器上指定的文件。
我真的在这里无所适从!!我是否混合和匹配了适当版本的系统,禁止事情顺利运行?我不知道如何从这里开始,如果有人有任何见解,我会幸福地死去。谢谢