2017年6月1日星期四

Eclipse 介紹及預定技術整合

Eclipse安裝教學

INTELLIJ VS ECLIPSE THE BEST JAVA IDE?
https://www.dunebook.com/5-best-ide-for-java-development/

我是個沉醉安逸,懶惰的鍵盤戰士。問心, Eclipse 在設定上,真是各種麻煩,用起來不方便 ( 看多點各種 Eclipce 設定教學做對比 ),只因為習慣及免費外,沒甚麼誘因要轉 Intellij IDEA。

Commercial Intellij IDEA
https://www.jetbrains.com/idea/buy/#edition=commercial

有錢有恆心寫程式就買吧!反正我把寫程式當玩具,那有一天掉到垃圾桶也不意外,沒必要花錢。Intellij IDEA 有的,Eclipce 基本上也有,只是不好用,不想花錢,就花時間花精神研究。

JavaEE 及 Spring 只在 Commercial  Intellij IDEA 有,Community 沒有。
https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

這筆記在 Windows10 下,為 Eclipse 安裝以下技術作為練習 ( Eclipse Neon.3 Release ( 4.6.3 ) ) ,教學定義為【能用】,不是【精通】。大部份都在 http://help.eclipse.org 有寫到,本人只是整理及簡化,以中文寫下。

以下是預定會做整合教學的技術。

Database
GitHub
Android
Web Service
EJB
Servlet
JSP

Eclipse 作為開發工具,希望一個 IDE 能整合所有技術。

———————————簡易的分隔線————————————

OpenJDK


跟 Oracle JDK 有甚麼分別?商用、做生意要付鈔!不想被 Oracle 背後捅一刀,別用官方版,轉 OpenJDK。

Java SE General FAQs
http://www.oracle.com/technetwork/articles/javase/faqs-jsp-136696.html

【秋後算帳囉】Java 世紀侵權案甲骨文勝訴,向全球追討授權費台灣也遭殃
https://buzzorange.com/techorange/2018/05/02/java/

Oracle JDK 用 GPLv2 + CE License 發佈。簡單來說,即使 Oracle JDK 是 GPLv2,只要不是直接用,而是 jar 的 lib 型式連結,就不須要守 GPLv2 規定將所有程式碼公開,這個模式有利商用發展。

GNU General Public License, version 2, with the Classpath Exception
http://openjdk.java.net/legal/gplv2+ce.html

Oracle JDK 與 Open JDK 另一個分別是 Java web start 技術,如果需要用到 JNLP 又不想用 Oracle JDK,可以試試 IcedTea。

What is Java Web Start and how is it launched?
https://www.java.com/en/download/faq/java_webstart.xml

IcedTea Project
http://openjdk.java.net/projects/icedtea/

抱怨一下,熱門開源技術被 Oracle 買起後,都沒有好下場。OpenJDK 搞手都是 Oracle,那怕有一天被人捧上天後,會被捅也是可想而知。有時間就轉 Scala 或 Kotlin 語言作為 java 的後備……

———————————名詞簡介 ( start )————————————

只介紹我認為的【必要】,現在弄不清那些名詞沒關係,有個概念,無論在 Google 搜尋或論壇發問上 ( stackoverflow.com ),都有個好開始。

Eclipse 結構


http://help.eclipse.org/neon/topic/org.eclipse.platform.doc.user/gettingStarted/intro/overview.htm?cp=0_0
從Eclipse的help文件截取圖片

Eclipse 不是以 installer 安裝,而是下載壓縮包的話,它只不過是一個資料夾,整個複製能備份、刪除就消失,了解 Eclipse 結構,可以做到某程度上 portable (不會登錄在windows registry,所以不用怕會留下垃圾)。

PS︰不是整個【eclipse】複製或刪除,就能做到完美 portable,例如 Android SDK、TommEE Plus、Workspace 及 Repo 之類,會存放在其他地方 (例如%USERPROFILE%)。在另一台電腦上運行 Eclipse,要裝 JDK。

Features


先把這個曲解成【Plug-in】或【Install New Software】。正確答案是有,但沒正確理解各名詞分別的話,只會造成混亂。

View 及 Perspectives


Eclipse Perspectives中各種各樣的View
桌面上的布陣

開壇作法,需要布陣,但此陣不同彼陣,假設風水師傅要長枱擺陣,就等於在電腦桌面上擺陣,左邊是 Package Explorer View,中間是 Code Editor View,右下 Message View ,右邊 Outline View 等等…… 集各式各樣的 Views 於一身的,稱之為【Perspectives】。

Workspace、Project 及 Repo (Repository)


Workspace 裡可以有多個 Project,要在 Eclipse 寫程式或做些什麼,都必須建立 Project ( 資料夾 ),這個資料夾含各式資源、source code、compile source 用到的設定等等。建立的 Project 都存放於一個 Workspace 之下,在開啟 Eclipse 時會問 Workspace 存放位置。

有兩點需要注意︰

  • Repo 及 Workspace 務必儲存在不同的資料夾。
  • 在 Repo 裡建立 Project ,這裡有詳述為什麼。

詳細怎樣做,到 Egit + GitHub 教學 再說。

Preferences


Preferences位置

Filter 位置

各種設定。用 Filter 搜尋,比起翻箱倒櫃,點開每個項目來找實在好太多。

———————————名詞簡介 ( end )————————————

安裝 OpenJDK


WIN + R後輸入cmd

首先檢查電腦,按【WIN + R】鍵入 cmd。

WIN 10 的 64 bit 版本

輸入【systeminfo】。會看到各式各樣的電腦資訊,記下作業系統及系統類型 ( eg. windows 10 的 x64-base PC),然後到以下網址下載 OpenJDK。

———————————簡易的分隔線————————————

OpenJDK_install

下載 Open JDK
https://github.com/ojdkbuild/ojdkbuild

用 Windows 10 的 64bit 版本,所以下載這個。


安裝 MSI 檔時,按【其他資訊】後,才會看到【仍要執行】。
安裝 OpenJDK 很容易,Next 到最後,按 Finish 就完成。


設定 JAVA_HOME 這個變數。
C:\Program Files\ojdkbuild\java-1.10.0-openjdk-1.10.0.1-1

———————————簡易的分隔線————————————

下載 Eclipse


官方網頁下載

到 Eclipse 官網下網 Eclipse,選【Download Packages】
https://www.eclipse.org/downloads/packages/

Eclipse插件預載套餐
  1. 在安裝 OpenJDK 時已知道是 64bit Windows,所以下載這個,而且這套餐最多人下載,並且乎合這裡教學用。

  2. 有興趣的話,可以看一下各 Package 大約包含什麼插件,可知道套餐主要內容。
    https://www.eclipse.org/downloads/compare.php
只有zip版的才能做到portable

解壓後,Eclipse 只不過是一個資料夾,整個複製能備份、刪除的話就消失,了解 Eclipse 結構,可以做到某程度上 portable。

第一次使用eclipse

在 eclipse 的資料夾內,開啟【eclipse】。

———————————簡易的分隔線————————————

首次開啟 Eclipse


建立或指定workspace位置

workspace 是擺放【各式資源】、【source code】及【project setting】的地方,唯獨這個資料夾,絕對!一定!必須!做備份,備份一個不夠,還要備份多三份,分開不同地方儲存(中國、美國、北極、火星……)。

Eclipse 的 Welcome Page

如果還想再看一次Welcome Page,右上角【Help】-->【Welcome Page】。

———————————簡易的分隔線————————————

之前有提過的 Repo 與 workspace 要分開。怎樣開新的 workspace (Repo)及刪除 workspace 呢?

新增Workspace (Repo)

新增 workspace,在開始的時候,直接改名,workspace 會自動生成,用已有的 workspace 也是這樣。

刪除動作

刪除 workspace,在名稱右鍵,選單裡按【Remove ……】就能刪了快速啟動。

真正的刪除

要真真正正把 Workspace 刪除,資料夾整個刪除就可以。

———————————簡易的分隔線————————————

Help 選項介紹


初次接觸 Eclipse,有時間的話,個人建議把 Help 都看一看,有不少教學文件、快捷鍵及 Cheat 之類。這裡只是把【Help Contents】裡的文件簡化,整理重點功能說明,之後就看你用什麼 Plug-in ( Features )。

Menu Bar 內容介紹

Check for Updates


不用補充說明,只是介紹 Update 的位置怎按出來。

新增Eclipse P2 Repository

Install New Software


以【Google Plugin for Eclipse 4.6】為例,順步驟按就能新增下載 Plug-in 的網址。


Google 各式套件

Android、GAE ( Google App Engine )、GWT ( Google Web Toolkit ) 什麼都有 Plug-in ……不用理會,日後一定有機會試用這個功能。

Installation Details


各Plug-in 詳細資訊

剛剛看過怎樣下載 Plug-in,但怎知道這個【Eclipse IDE for Java EE Developers】套餐,包含了什麼,又是什麼版本呢?【Installation Details】 有詳述。

Eclipse Marketplace


Eclipse Marketplace

跟【Install New Software】相似,但目的不一樣。
個人建議,能用【Marketplace】安裝 Plug-in 就最好,次選【Install New Software】。

———————————簡易的分隔線————————————

Window 選項介紹


Preferences 介紹


OpenJDK_install_4

簡單來說,就是「設定」,之前有提過。現在設定使用 OpenJDK 吧,跟圖示步驟做,搜尋框裡、鍵入「java」會比較快找到需要設定的項目。


按【Directory】選取 OpenJDK 的安裝位置,那個位置跟之前設定的 JAVA_HOME 變數一樣。成功的話,系統會自動填入 JRE name 及 JRE system libraries。


最後,在【Compiler】設定 Compiler compliance level 為 【1.8】。

———————————額外資訊 ( start )————————————


如果想在 Eclipse 內看 OpenJDK 的程式碼,可以解壓 src.zip 放在 JAVA_HOME 裡。

———————————額外資訊 ( end )————————————

Perspective 介紹


開啟Perspective位置

在 Menu bar 中開啟【Perspectives】。初學者就別想 Customize,視窗跟教學的擺位不同會造成困擾,習慣後,可以擺自己喜歡的陣。


各式Perspectives任君選擇

很多【Perspectives】選擇,選常用的幾個就好。

Perspectives Icon在右邊不起眼處

新增及轉換【Perspectives】的 Icon 位置。

Show View 介紹


Menu Bar中View的位置
Eclipse View

假如覺得內建的【Perspectives】不夠用,而開一個新的【Perspectives】又令 Toolsbar 太擁腫。那麼,直接在不夠用的【Perspectives】加建【View】不就解決問題了嗎?例如在內的  JavaEE 的【Perspectives】加個【Git Repositories】及【Git Staging】。

關閉 View 及 Perspectives


關閉View
關閉View

關閉、重設Perspectives
關閉、重設Perspectives
看圖,不用補充說明。

———————————簡易的分隔線————————————

最主要的通用介面,在這裡介紹過,然後就是如何使用。



或繼續往 Android 進發。

下一回【Android Plug-in 及 AVD (Android Virtual Device) 建立