Posted on 2006-11-15 21:34
切爾斯基 閱讀(1584)
評論(0) 編輯 收藏
?
基本目前沒有純Java的API來訪問硬件信息,以后或許會有吧,誰知道
對Mac地址的需求部分來自UUID,
另有很大部分來自License Management,這真是一件無聊的事情,希望以后軟件賣的都是服務,不是拷貝,省卻這些麻煩
?
搜了一下,大體有三類解決分案
1, JDK6, JDK7 ?
詳情可參見以下鏈接
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4691932
2, Shell Command
就是截取 ipconfig,?
ifconfig 等命令的輸出,然后解析
有一些開源項目,如
http://sourceforge.net/projects/javanetcomm/
還有很多代碼片斷,如
http://forum.java.sun.com/thread.jspa?threadID=61556,
?http://forum.java.sun.com/thread.jspa?threadID=245711
這種方法的缺點是有可能需要較高的系統權限才能執行這些命令或者訪問網卡硬件
3, JNI
也有開源項目包含了這個功能, 如
http://jug.safehaus.org/
缺點是不方便部署
?
然而不是所有的網絡都是Ethernet, 對License Management來說Mac地址只是更為generic的概念"Host
Id"的一種考量因素.