➜ Old React website
Chung Cheuk Hang MichaelJava Web Developer
在 Spring Boot + JPA 項目中使用 MapStructJava 開發筆記(五)

Java 開發筆記(六)

Continued from previous post:
Java 開發筆記(五)

Table of contents

6 Dependency Management

Dependency management tool 可以幫我地下載同管理我地呢一個 project 需要用到既 3rd party libraries,同埋 build project 時既相關設定。
當第個 developer 要開發呢個 project,佢只需要用個 Maven command 就可以自動下載返所需既 dependency JAR files, 唔洗你 copy 啲 IDE 特定 format 既 settings 畀果個 developer。
最熱門既 dependency management tool 係 Maven,而第二多人用既係 Gradle。

6.1 冇 dependency management 之下點做

就算冇用 dependency management tool,喺 Eclipse 都可以加到 3rd party libraries。
  1. 喺 Eclipse 左邊 Package Explorer 度 right click 個 non-Maven/Gradle Java project
  2. Context menu > Properties
  3. Java build path
  4. Add External JAR...
  5. 揀個係 API 既 JAR file
  6. Apply and close
  7. 喺 Package Explorer 你個 Java project 底下,expand Referenced Libraries
  8. 你會見到有你 add 左既 JAR file
但當我地將 source code 交畀第個 developer 開發既時候,要 keep 住 .classpath 呢個檔案,否則會冇曬啲 Referenced Libraries。

6.2 喺 Eclipse 用 Maven

如果要 import 一個 Maven project,可以睇返呢篇:Java 開發筆記(二) - Import 現有 Maven project
一般黎講,當我地喺 Eclipse 改左 Maven project 既 pom.xml 檔案之後,Eclipse 會自動更新 project。
但如果冇發生到,我地可以 right-click 個 project > Maven > Update project...。

6.3 取得 Maven library

無論係 Maven 定係 Gradle,用既都係 Maven public repository https://repo1.maven.org/maven2/
可以 google search library 名 + maven,例如 jsoup maven,就會搵到 org.jsoup » jsoup - Maven Repository
揀左特定版本之後,copy Maven 配置:
1<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> 2<dependency> 3 <groupId>org.jsoup</groupId> 4 <artifactId>jsoup</artifactId> 5 <version>1.13.1</version> 6</dependency>
然後喺 pom.xml 裡面呢個位 paste 上面既 XML code:
<dependencies> <!-- paste here --> </dependencies>
如果用 Gradle:
// https://mvnrepository.com/artifact/org.jsoup/jsoup
compile group: 'org.jsoup', name: 'jsoup', version: '1.13.1'
build.gradle
dependencies {
    // paste here
}
喺 Eclipse 度 save 左個 pom.xml 檔(或 build.gradle 檔,如果係 Gradle)之後,Eclipse 就會自動 refresh 同 resolve, 下載 library 既 JAR 檔,再幫你重新 build 過個 project。

6.4 使用 Maven commands

如果要用 mvn command 既話,就要去系統設定修改 environment variables,加入 JAVA_HOME(例如 C:\Program Files\Java\jdk1.8.0_333)。
註:一定要用 JDK,而唔係 JRE。
以下係常用既 Maven commands。
生成 project artifact(如 JAR 檔):
mvn clean package
生成 project artifact(如 JAR 檔),跳過所有 unit tests:
mvn clean package -Dmaven.test.skip=true
生成 project artifact(如 JAR 檔)並安裝到自己既 .m2 folder,跳過所有 unit tests:
mvn clean install -Dmaven.test.skip=true
Compile Maven project:
mvn compile
Check Maven 以及 JDK 版本:
mvn -v
參考資料:

6.5 本地 .m2 folder

如果需要重新由線上既 Maven repository 下載返啲 3rd party libraries,或者之前做 project 既時候經 mvn install 安裝過舊版既 project artifact, 而令到 Maven 一直用左本地 .m2 folder 裡面既 JAR 檔而唔係重新 compile + install,咁我地可以清空本地 Maven repository 既某啲 folders, 甚或成個本地 Maven repository(重新下載可能比較需時)。
OS位置
Windows%HOMEDRIVE%/%HOMEPATH%/.m2/repository/
macOS~/.m2/repository/
裡面既資料夾係以 Maven pom.xml<groupId> 黎開既,所以 Spring framework 果啲 <groupId>org.springframework 開頭, 就會出現喺 org/springframework/ 資料夾裡面。
Next posts:
進階 Maven