網頁

2019/9/21

Eclipse Lombok 安裝

Eclipse安裝及使用lombok套件的方式如下。

Lombok套件的好處是能在Java程式碼中的類別或屬性上設定annotation來幫我們產生常用的程式碼,例如getter,setter,無參數建構子,全參數建構子,Builder,Log物件等。

而Lombok與其他library比較不同的是,除了專案要引入lombok的依賴函式庫外,Eclipse本身也必須安裝lombok套件來一起使用,然而這也是被詬病的缺點之一。


範例環境:

  • Windows 64 Bit
  • Java 8
  • Eclipse Version: 2019-03 (4.11.0)
  • Maven

首先到Lombok官網Download頁面下載Eclipse所需要的套件lombok.jar



將下載的lombok.jar放到Eclipse安裝目錄。



用文字編輯器開啟Eclipse安裝目錄下的eclipse.ini



eclipse.ini內容的最下面加上以下設定後存檔關閉。

-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar

到此便完成Eclipse lombok套件的安裝。


如果專案中要使用lombok的功能,在專案的pom.xml<dependencies>中加入lombok的依賴如下。

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
    <scope>provided</scope>
</dependency>

以下是使用lombok @Data@AllArgsConstructor的範例。
@Data能自動產生類別的getter setter,toString()equals()hashCode()
@AllArgsConstructor能自動產生類別的全屬性建構子。

在一個簡單的POJO類別Employee中並沒撰寫任何getter,setter與建構子的程式碼,而是在類別名稱前加上lombok的@Data@AllArgsConstructor

import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor
public class Employee {
    
    private Long id;
    private String name;
    private String email;
    private Integer age;

}

因為有了Eclipse lombok plugin與專案中的lombok套件的搭配,儘管Employee中沒有getter setter及建構子,但仍能如同存在般地正常呼叫,這就是lombok的特色。

Employee employee = new Employee(1L, "Hank", "hank@abc.com", null);

System.out.println(employee.getName());  // Hank
System.out.println(employee.getEmail()); // hand@abc.com

employee.setAge(33);
System.out.println(employee.getAge());   // 33

沒有留言:

張貼留言