Windows中javax.comm.properties的备用位置

时间:2012-05-30 15:16:27

标签: java windows serial-port javax.comm

我正在构建一个需要安装在Windows机器上的程序,我没有对%JAVA_HOME%/ lib的写访问权。

有没有其他地方我可以将javax.comm.properties移到%JAVA_HOME%/ lib以外的地方?

根据Java COM API FAQ:

  

问:我的应用程序在枚举可用时找不到任何端口   端口。
  答:为了让Java通信API找到文件的端口   javax.comm.properties必须位于正确的位置。首选   位于/ lib。请参阅安装说明   备用位置和进一步信息。

在哪里可以找到包含这些备用位置的Sun安装说明?

2 个答案:

答案 0 :(得分:0)

基于一个人在这里说的话: https://forums.oracle.com/forums/thread.jspa?threadID=1316406

您可以将文件 javax.comm.properties 放在 comm.jar 的位置。但是要运行程序,你应该指定指向comm.jar的路径,如下所示:

java -cp <your.class.path>;<path.to>/comm.jar YourProgramThatUsesComm.jar

希望它有所帮助!

答案 1 :(得分:0)

我发现了一种适合我的方式。以下是要求:

  • comm.jar必须准确命名为comm.jar(例如,不是comm-2.0.jar),并且必须位于名为exact "lib"的目录中的类路径中。
  • javax.comm.properties也必须具有该名称,并且与comm.jar位于同一目录中。
  • 必须在win32com.dll中引用
  • java.library.path

所以,如果你有这样的目录设置:

- lib\
   |- comm.jar
   |- javax.comm.properties
- ext\
   |- win32com.dll

然后,您可以在这些目录的根目录中使用以下java命令(假设您的项目jar文件YourMainClass也在lib中目录:

java -Djava.library.path=.\ext -cp .\lib\* YourMainClass

有了这个,您不再需要在JRE的\bin\lib目录下放置任何内容。