指定Java通信库的位置

时间:2012-02-28 20:13:33

标签: java serial-port javax.comm

是否有解决方法或解决方案必须将javax.comm.properties文件和win32com.dll文件放在各自的文件夹中?

当我将文件存储如下时,我的程序正常工作:
%JAVA_HOME%/ JRE / lib / ext目录/ comm.jar
%JAVA_HOME%/ bin中/ win32com.dll
%JAVA_HOME%/ LIB / javax.comm.properties

这很有效,直到IT更改了我们计算机上的权限,以便我们无法再写入这些文件夹。我希望能够安装我编写的Java程序,该程序使用串口一次,而不需要在每次IT决定更新我们的JVM时重新安装它。有谁知道这样做的方法?

1 个答案:

答案 0 :(得分:0)

将应用程序的执行与其运行的计算机配置分离是一种很好的做法。在您的情况下,第一项任务将是确定您希望存储所需的额外库和配置文件的位置(最好将它们与您的应用程序捆绑在一起)。完成后,您可以将应用程序配置为在启动时找到它们:

假设有以下目录树:

myapp
  |
  --lib (archives and shared libraries stored here)
  |
  --resources (configuration files go here)

你可以这样做:

java -Xbootclasspath/a:myapp/lib/comm.jar -cp "myapp/lib/*:myapp/resources" -Djava.library.path="myapp/lib"

您的JAR和DLL文件将进入lib子文件夹,属性文件将进入资源子文件夹。