是否有解决方法或解决方案必须将 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 时重新安装它。有谁知道有什么方法可以做到这一点吗?
最佳答案
将应用程序的执行与其运行的计算机的配置分离始终是一个好习惯。在您的情况下,第一个任务将是确定您想要存储所需的额外库和配置文件的位置(最好将它们与您的应用程序捆绑在一起)。完成后,您可以配置应用程序以在启动时找到它们:
假设有以下目录树:
myapp | --lib (archives and shared libraries stored here) | --resources (configuration files go here)
You could do:
java -Xbootclasspath/a:myapp/lib/comm.jar -cp "myapp/lib/*:myapp/resources" -Djava.library.path="myapp/lib"
您的 JAR 和 DLL 文件将进入 lib 子文件夹,属性文件将进入 resources 子文件夹。
关于java - 指定 Java 通信库的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9489000/