2012-02-28 25 views
1

是否有必须将javax.comm.properties文件和win32com.dll文件放入其各自文件夹的解决方法或解决方案?指定Java通信库的位置

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

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

回答

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子文件夹,属性文件将进入资源子文件夹。