似乎使用javax.comm处理COM端口的障碍是两个文件win32com.dll和javax.comm.properties的位置。它们需要放在JRE和/或JDK文件夹中,这并不是特别好,这使得应用程序很容易分发给广泛的受众。
我需要带着我的程序,在我没有特权进行这样的更改的各种计算机上使用它。
有没有办法将这些文件带到我的jar中,并让它们像comm.jar文件本身一样在它们所在的位置工作?
如果不是,那么我将不得不假定javax.comm将不会被使用,并寻找另一种语言来编写我的程序。
发布于 2015-11-26 02:41:12
可以使用系统属性java.ext.dirs。
从Java6开始,扩展JAR文件也可以放置在独立于任何特定JRE的位置,以便系统上安装的所有JRE都可以共享扩展。在Java6之前,java.ext.dirs的值指的是单个目录,但在Java6中,它是一个目录列表(如CLASSPATH),指定在其中搜索扩展名的位置。路径的第一个元素始终是JRE的lib/ext目录。第二个元素是JRE外部的一个目录。另一个位置允许安装一次扩展JAR文件,并由该系统上安装的多个JRE使用。位置根据操作系统的不同而有所不同:
查看此https://docs.oracle.com/javase/tutorial/ext/basics/install.html
https://stackoverflow.com/questions/33923945
复制相似问题