我正在构建一个需要安装在Windows机器上的程序,我没有对%JAVA_HOME%/ lib的写访问权。
有没有其他地方我可以将javax.comm.properties移到%JAVA_HOME%/ lib以外的地方?
根据Java COM API FAQ:
问:我的应用程序在枚举可用时找不到任何端口 端口。
答:为了让Java通信API找到文件的端口 javax.comm.properties必须位于正确的位置。首选 位于/ lib。请参阅安装说明 备用位置和进一步信息。
在哪里可以找到包含这些备用位置的Sun安装说明?
答案 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
目录下放置任何内容。