建立一個 jar 檔案,會同時在 jar 檔案內自動建立 META-INF/MANIFEST.MF 記載關於 jar 檔案的各項資訊。若是沒有特別指定, MANIFEST.MF 預設的內容為:


Manifest-Version: 1.0

整個 MANIFEST.MF 就是由一行一行的 Header: Value 的格式所組成的文字檔案。

Main-Class 可以指定開始執行程式的位置,也就是 public static void main(String[] args) 所在的 class 檔。例如 MyJar.jar 的 manifest 內容為:


Manifest-Version: 1.0
Main-Class: MyPackage.MyClass

當執行 java -jar MyJar.jar 的時候,就會以 MyPackage/MyClass.class 裡面的 main 函數為程式開始執行的地方。

sleeprabbit 發表在 痞客邦 留言(0) 人氣()

把Java程式執行所需要的資源集合成單一檔案,例如calss檔、聲音、圖片、數據資料等等的檔案,利用jdk所提供的工具jar打包成一個Java Archive (Jar) 檔案。


如果直接下達jar指令而沒有其他參數,會輸出如下的說明資料:


用法:jar {ctxui}[vfm0Me] [jar 檔案] [清單檔案] [進入點] [-C 目錄] 檔案 ...
選項:
    -c  建立新的歸檔
    -t  列出歸檔的目錄
    -x  從歸檔中擷取已命名的 (或所有) 檔案
    -u  更新現有歸檔
    -v  在標準輸出中產生詳細輸出
    -f  指定歸檔檔案名稱
    -m  包含指定清單檔案中的清單資訊
    -e  為獨立應用程式指定應用程式進入點
        已隨附於可執行 jar 檔案中
    -0  僅儲存;不使用 ZIP 壓縮方式
    -M  不為項目建立清單檔案
    -i  為指定的 jar 檔案產生索引資訊
    -C  變更至指定目錄並包含後面所列的檔案
如果有任何檔案是目錄,則會對其進行遞迴處理。
清單檔案名稱、歸檔檔案名稱和進入點名稱
的指定順序與指定 'm' 旗標、'f' 旗標和 'e' 旗標的順序相同。

範例 1:將兩個類別檔案歸檔至名為 classes.jar 的歸檔中:
       jar cvf classes.jar Foo.class Bar.class
範例 2:使用現有清單檔案 'mymanifest' 並將
           foo/ 目錄中的所有檔案歸檔至 'classes.jar' 中:
       jar cvfm classes.jar mymanifest -C foo/ .



sleeprabbit 發表在 痞客邦 留言(0) 人氣()

拿Javascript來練習一個簡單的猜數字遊戲。首先在心中從1到100之間挑一個整數,然後只要說出心中所挑的數字出現在那幾群分類中,就能透過簡單的計算馬上猜出來。

當然這個小把戲只要靠人腦就可以輕易辦到了,訣竅就是把被挑中的分類中最小的數字加起來,馬上就可以知道對方心中想的數字。而其中的道理也不會太難,就是把數字按照二進位表示法做分類而已。

讓我一時搞糊塗的是從<form>的checkbox所傳回的值是字串,但是我需要的是數值型態的資料,所以花了時間把轉換的函數parseInt給找出來。Javascript對於變數沒有特別要求限定於那種資料型態,所以可以很直觀的運用,使用上很靈活,但是卻很容易出現資料型態因不如預期而造成的錯誤。


sleeprabbit 發表在 痞客邦 留言(0) 人氣()

當視窗發生了改變,或使用者對視窗點了滑鼠或鍵盤案件之類的事,可以透過事件處理機制做出適當的反應。最常需要處理的大概就是滑鼠所產生的事件了吧。首先是移動滑鼠、將滑鼠移進某個區域、將滑鼠移出某個區域這三個事件。將滑鼠移進表格中的任一個區域,背景顏色馬上做出高亮度的反應,滑鼠移出後又變回淡色顯示。而滑鼠的移動與進出也會對OnMouseMove和OnMouseOver這兩個區域的計數器產生影響。另外四個區域都跟滑鼠右鍵有關係,不同的點法和拖放右鍵會有不同的反應。



Javascript會將ㄧ個記錄事件發生詳細資料的物件傳給處理該事件的函數,不過不同的瀏覽器支援不同的做法,這點在寫事件處理函數時要注意一下。


sleeprabbit 發表在 痞客邦 留言(0) 人氣()

  

sleeprabbit 發表在 痞客邦 留言(0) 人氣()

1 2