Java Embedded(5)建立Java SE Embedded開發環境
Java Embedded(4)建立 Raspberry Pi 上的 Java 執行環境 << 前情 5-1 下載與安裝NetBeans 8開發Java Embedded應用程式的作法,雖然跟其它Java應用程式類似,也是寫好需要的程式碼,然候編譯與執行。不過你應該不會在Raspberry Pi這類的裝置,安裝應用程式開發工具,例如Eclipse。當然也不會在Raspberry Pi使用像nano這類文字編輯程式。所以應該還是在你平常工作的電腦,使用方便好用的開發工具來撰寫應用程式。開發完成後,再把編譯與包裝好的程式傳送到Raspberry Pi執行。 Java開發人員有很多開發工具可以選擇,因為目前NetBeans 8在Java Embedded的支援會比較好一些,所以接下來使用Netbeans 8說明應用程式的開發方式。首先開啟瀏覽器,到這個網址http://netbeans.org/download下載安裝程式: 執行下載完成後的安裝程式,目前不會使用到應用程式伺服器,所以先取消安裝的選項: 接下來兩個步驟都選擇同意與下一步: 在這個步驟確認JDK為Java SE JDK 8後,選擇下一步: 建議可以取消更新檢查,選擇「Install」開始安裝: 最後選擇「Finish」完成安裝: 啟動NetBeans 8,依照下列畫面的說明,關閉啟動畫面。你可以先為Netbeans執行基本的設定,例如程式碼的字型與大小: 5-2 建立與測試應用程式專案現在準備建立一個用來測試的應用程式專案。選擇功能表「File -> New Project…」,在出現的視窗選擇「Java」與「Java Application」,選擇下一步: 在「Project Name:」輸入「HelloRaspberryPi」,選擇結束: 把NetBeans為你建立的程式碼,改為下列的內容: package helloraspberrypi; import java.util.Properties; public class HelloRaspberryPi { public static void main(String[] args) { System.out.println("Hello! Raspberry Pi!\n"); final String[] pnames = { "java.runtime.name", "java.vm.name", "user.dir", "user.name", "java.home", "java.version"}; Properties p = System.getProperties(); for (String name : pnames) { System.out.println(name + " : " + p.getProperty(name)); } } } 這個應用程式執行以後,會顯示一些基本的系統資訊。在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Clean and Build」。你可以先在工作電腦測試這個應用程式,在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Run」,執行後可以看到像這樣的結果: Hello! Raspberry Pi! java.runtime.name : Java(TM) SE Runtime Environment java.vm.name : Java HotSpot(TM) 64-Bit Server VM user.dir : C:\Users\MAC\Documents\NetBeansProjects\HelloRaspberryPi user.name : MAC java.home : C:\Program Files\Java\jdk1.8.0_11\jre java.version : 1.8.0_11 確定Raspberry Pi已經開機完成,在工作電腦啟動命令提示字元,執行下列的指令切換目錄與傳輸包裝好的應用程式:(記得更換Raspberry Pi的IP位址) cd C:\Users\使用者目錄\Documents\NetBeansProjects\HelloRaspberryPi pscp -r dist [email protected]:/home/pi 檔案傳輸成功以後,在登入Raspberry Pi的視窗,執行下列的指令切換目錄與執行應用程式: cd ~/dist java -jar HelloRaspberryPi.jar 執行後可以看到像這樣的結果: Hello! Raspberry Pi! java.runtime.name : Java(TM) SE Runtime Environment java.vm.name : Java HotSpot(TM) Client VM user.dir : /home/pi/work/dist user.name : pi java.home : /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre java.version : 1.8.0 在Raspberry Pi使用「java」執行程式,採用的是Java SE 8的執行環境,比較工作電腦與Raspberry Pi的執行結果,可以很明顯看出「user.dir」、「user.name」與「java.home」的差異。 5-4 在NetBeans建立遠端執行環境在NetBeans或其它開發工具,使用上面介紹的作法,就可以在Raspberry Pi測試寫好的應用程式,不過你應該會覺的很麻煩,應用程式的開發過程,總是會修修改改的,每次修改後都要重複這些工作,應用程式的開發效率就會很差了。 NetBeans支援遠端應用程式的安裝與測試功能,你可以在工作的電腦寫好應用程式,讓NetBeans幫你傳輸到指定的遠端裝置與執行,也可以在NetBeans看到執行的結果,接下來準備為NetBeans建立遠端執行環境。 啟動NetBeans以後選擇功能表「Tools -> Java Platforms」,在開啟的視窗選擇「Add Platform…」: 選擇「Remote Java Standard Edition」後選擇下一步: 在開始這個步驟之前,先確定你的Raspberry Pi開機完成,並且已經連接到網路。依照下列的說明輸入需要的資訊:
輸入完成後選擇「Finish」完成設定: NetBeans會連線到指定的Raspberry Pi執行一些測試,如果設定的資訊都沒有問題,NetBeans就會儲存這個Java遠端執行環境的設定。選擇「Close」關閉這個視窗: 接下來為應用程式專案執行遠端執行的設定,在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Properties」,選擇「Run」目錄後選擇「New…」按鈕,準備為這個專案建立一個新的執行設定檔: 在對話框輸入一個名稱後選擇「OK」按鈕: 「Runtime Platform」選擇剛才建立的遠端Raspberry Pi Java平台,選擇「OK」完成設定: 為「HelloRaspberryPi」專案加入新的執行設定,在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Run」執行應用程式,NetBeans使用這個遠端執行設定,把應用程式傳輸到指定的Raspberry Pi後執行,而且會把執行後的輸出傳送回NetBeans,你可以特別注意「user.dir」、「user.name」與「java.home」顯示的內容: Hello! Raspberry Pi! java.runtime.name : Java(TM) SE Runtime Environment java.vm.name : Java HotSpot(TM) Client VM user.dir : /home/pi/NetBeansProjects/HelloRaspberryPi user.name : pi java.home : /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre java.version : 1.8.0 這個範例程式可以在Java Embedded compact1 profile執行,接下來準備建立一個compact1的遠端執行設定。選擇NetBeans功能表「Tools -> Java Platforms」,在開啟的視窗選擇「Add Platform…」: 選擇「Remote Java Standard Edition」後選擇下一步: 依照下列的說明輸入需要的資訊:
輸入完成後選擇「Finish」完成設定: 如果設定的資訊都沒有問題,NetBeans就會儲存這個Java遠端執行環境的設定。選擇「Close」關閉這個視窗: 在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Properties」,選擇「Sources」目錄,Profile選擇「Compact1」: 選擇「Run」目錄後選擇「New…」按鈕,準備為這個專案建立一個新的執行設定檔: 在對話框輸入一個名稱後選擇「OK」按鈕: 「Runtime Platform」選擇剛才建立的遠端Raspberry Pi Java平台,選擇「OK」完成設定: 為「HelloRaspberryPi」專案加入compact1 profile的執行設定,在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Run」執行應用程式。比較之前執行程式後顯示的內容: Hello! Raspberry Pi! java.runtime.name : Java(TM) SE Embedded Runtime Environment java.vm.name : Java HotSpot(TM) Embedded Minimal VM user.dir : /home/pi/NetBeansProjects/HelloRaspberryPi user.name : pi java.home : /home/pi/myjre/mycompact1 java.version : 1.8.0 課程相關的檔案都可以GitHub瀏覽與下載。 |