※ 引述《faraway0203 (kuso, faraway)》之銘言:
: 題目可能描述的怪怪的
: 我想描述的為以下情況:
: 我寫了一個程式 用到後來加入的API: java comm
: 原本目的是寫完之後包成jar檔丟到其他電腦run
: 原本以為其他電腦只需要裝JRE就可以
: 但後來執行錯誤 原因為沒有java comm API
: 當然當下我直接將java comm的 jar, DLL檔案放入JRE
: 但覺得可能有其他方法可以不用讓使用端 (只有JRE環境的電腦)這麼麻煩
: 請問該怎麼做呢?
: 非常感謝
Java Communication API(JCA) 套件要部署來使用主要是三個檔案:
comm.jar
javax.comm.properties
win32com.dll(for Windows)
缺一不可。
由於他在初始化的程序上設計得不夠有彈性,實際上要部署之有一些麻煩(用在
applet 應用更麻煩)。
正確的方式是:假設 client 執行你的 Java application 所使用的 JRE 安裝在
%JRE% 路徑。
comm.jar => %JRE%\lib\ext
javax.swing.properties => %JRE%\lib
win32com.dll => %JRE%\bin
要散佈自帶 JCA 套件的 Java application 通常會需要附一個安裝程式,由
安裝程式負責偵測 user 的 JRE,然後依照上述列表把必要的檔案複製到對應
的位置(這方法有些侵略性)。
因為初始化的順序的關係,如果你要作成由 executable jar 執行時,一併進行
安裝 JCA 檔案的動作是行不通的,安裝好 JCA 檔案後必須要重新得重新你的程式。
如果要讓 executable jar 把 JCA 檔案從出來 executable jar 內 copy 到 user
的系統裡,但不放在 JRE 內的話,只有在很特定的方式能夠讓 JCA work。這部份
你可以 google 或是到 www.javaworld.com.tw 去檢索 "JCA" or "comm" 來看看
別人試驗出來的可行組態。
或者是你可以考慮使用 RXTX 來代替 sun 官方的 JCA 套件。
http://www.rxtx.org/
RXTX API 設計與 sun JCA 相同(只有 package path 不同),以及小部份行為上
的差異。
http://www.javaworld.com.tw/jute/post/view?bid=5&id=269023&sty=3
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.131.105
※ 編輯: sbrhsieh 來自: 218.173.131.105 (02/08 01:05)