Java Embedded(5)建立Java SE Embedded開發環境 by Michael | CodeData
top

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說明應用程式的開發方式。首先開啟瀏覽器,到這個網址https://netbeans.org/download下載安裝程式:

JavaEmbedded_05_01

執行下載完成後的安裝程式,目前不會使用到應用程式伺服器,所以先取消安裝的選項:

JavaEmbedded_05_02

接下來兩個步驟都選擇同意與下一步:

JavaEmbedded_05_03

JavaEmbedded_05_04

在這個步驟確認JDK為Java SE JDK 8後,選擇下一步:

JavaEmbedded_05_05

建議可以取消更新檢查,選擇「Install」開始安裝:

JavaEmbedded_05_06

最後選擇「Finish」完成安裝:

JavaEmbedded_05_07

啟動NetBeans 8,依照下列畫面的說明,關閉啟動畫面。你可以先為Netbeans執行基本的設定,例如程式碼的字型與大小:

JavaEmbedded_05_08

5-2 建立與測試應用程式專案

現在準備建立一個用來測試的應用程式專案。選擇功能表「File -> New Project…」,在出現的視窗選擇「Java」與「Java Application」,選擇下一步:

JavaEmbedded_05_14

在「Project Name:」輸入「HelloRaspberryPi」,選擇結束:

JavaEmbedded_05_15

把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 pi@192.168.0.1:/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…」:

JavaEmbedded_05_16

選擇「Remote Java Standard Edition」後選擇下一步:

JavaEmbedded_05_17

在開始這個步驟之前,先確定你的Raspberry Pi開機完成,並且已經連接到網路。依照下列的說明輸入需要的資訊:

  • Platform Name :為這個遠端的Raspberry Pi Java平台取一個名稱
  • Host :Raspberry Pi的IP位址
  • Username :Raspberry Pi的使用者名稱pi
  • Password :使用者pi的密碼
  • Remote JRE Path :儲存在Raspberry Pi的JRE位置,Java SE 8的位置在「/usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/」
  • Working Dir :應用程式上傳到Raspberry Pi的儲存位置

輸入完成後選擇「Finish」完成設定:

JavaEmbedded_05_18

NetBeans會連線到指定的Raspberry Pi執行一些測試,如果設定的資訊都沒有問題,NetBeans就會儲存這個Java遠端執行環境的設定。選擇「Close」關閉這個視窗:

JavaEmbedded_05_19

接下來為應用程式專案執行遠端執行的設定,在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Properties」,選擇「Run」目錄後選擇「New…」按鈕,準備為這個專案建立一個新的執行設定檔:

JavaEmbedded_05_20

在對話框輸入一個名稱後選擇「OK」按鈕:

JavaEmbedded_05_21

「Runtime Platform」選擇剛才建立的遠端Raspberry Pi Java平台,選擇「OK」完成設定:

JavaEmbedded_05_22

為「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…」:

JavaEmbedded_05_23

選擇「Remote Java Standard Edition」後選擇下一步:

JavaEmbedded_05_24

依照下列的說明輸入需要的資訊:

  • Platform Name :為這個遠端的Raspberry Pi Java平台取一個名稱
  • Host :Raspberry Pi的IP位址
  • Username :Raspberry Pi的使用者名稱pi
  • Password :使用者pi的密碼
  • Remote JRE Path :儲存在Raspberry Pi的compact1 JRE位置,例如「/home/pi/myjre/mycompact1/」
  • Working Dir :應用程式上傳到Raspberry Pi的儲存位置

輸入完成後選擇「Finish」完成設定:

JavaEmbedded_05_25

如果設定的資訊都沒有問題,NetBeans就會儲存這個Java遠端執行環境的設定。選擇「Close」關閉這個視窗:

JavaEmbedded_05_26

在專案目錄「HelloRaspberryPi」上按滑鼠右鍵,選擇「Properties」,選擇「Sources」目錄,Profile選擇「Compact1」:

JavaEmbedded_05_27

選擇「Run」目錄後選擇「New…」按鈕,準備為這個專案建立一個新的執行設定檔:

JavaEmbedded_05_28

在對話框輸入一個名稱後選擇「OK」按鈕:

JavaEmbedded_05_29

「Runtime Platform」選擇剛才建立的遠端Raspberry Pi Java平台,選擇「OK」完成設定:

JavaEmbedded_05_30

為「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瀏覽與下載。

https://github.com/macdidi5/JavaEmbedded

後續 >> Java Embedded(6)認識 Raspberry Pi 的 GPIO

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

熱門論壇文章

熱門技術文章