Windows中的javax.comm.properties的替代位置

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

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

根据Java COM API常见问题解答:

问:我的应用程序在枚举可用端口时找不到任何端口。
答:为了使Java通信APIfind端口,文件javax.comm.properties必须位于正确的位置。 首选位置在/ lib中。 请参阅安装说明了解其他位置和更多信息。

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

Solutions Collecting From Web of "Windows中的javax.comm.properties的替代位置"

基于一个人说在这里的东西: 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 

希望能帮助到你!

我找到了一种适合我的方式。 这是要求:

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

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

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

然后你可以在这些目录的根目录下使用下面的java命令(假设你的项目的jar文件与YourMainClass同样在lib目录下:

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

有了这个,你不再需要在你的JRE的\bin\lib目录下放置任何东西。