2012-02-28 28 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子文件夾,屬性文件將進入資源子文件夾。