似乎使用javax.comm处理COM端口的障碍是放置两个文件win32com.dll和javax.comm.properties。他们需要进入JRE和/或JDK文件夹,这不是特别好,使应用程序易于分发给广大受众。
我需要接受我的程序并在我无权进行此类更改的各种计算机上使用它。
有没有办法将这些文件带到我的jar中,让它们在撒谎的地方工作,就像comm.jar文件本身一样?
如果没有,那么我将不得不假设javax.comm不会被使用并找到另一种语言来编写我的程序。
答案 0 :(得分:1)
您可以使用系统属性java.ext.dirs。
从Java 6开始,扩展JAR文件也可以放在一个位置 这与任何特定的JRE无关,因此扩展可以 由系统上安装的所有JRE共享。在Java 6之前, java.ext.dirs的值引用单个目录,但是从 Java 6它是一个指定目录的目录列表(如CLASSPATH) 搜索扩展名的位置。第一个元素 路径始终是JRE的lib / ext目录。第二 element是JRE之外的目录。这个其他位置允许 扩展JAR文件,安装一次并由多个JRE使用 安装在该系统上。位置取决于 操作系统:
请参阅此https://docs.oracle.com/javase/tutorial/ext/basics/install.html