Lombok không tạo getter và setter


101

Tôi vừa cố gắng gửi một dự án dựa trên Maven đến một máy tính khác và HORROR, các điểm đánh dấu màu đỏ ở khắp mọi nơi !!

Tuy nhiên, mvn clean installđang xây dựng tốt.

Nhanh chóng, tôi nhận thấy rằng Lombok không tạo getters và setters cho các lớp của tôi, mặc dù chúng đã @Getter@Setterđang được Eclipse công nhận chính xác.

Cả hai máy tính đều sử dụng cùng một phiên bản Maven (3.0.4) nhưng JDK khác nhau (1.6_23 và 1.6_33). Cả hai đều sử dụng Eclipse Indigo 32 bit. Bạn có ý tưởng về cách giải quyết vấn đề?


Để biết hướng dẫn đầy đủ, hãy xem stackoverflow.com/questions/3418865/… . Điều này cũng bao gồm cách khởi động Eclipse thông qua một phím tắt.
Roel Spilker


Tôi đã làm tất cả các bước trên NHƯNG nó vẫn không hoạt động. Tôi xem lại pom.xml và nhận xét ra <! - <optional> true </optional> -> theo mặc định. Sau đó tôi thêm cái này <! - <scope> cung cấp </scope> -> nhưng cũng nhận xét nó.
logixplayer

Câu trả lời:


141

Trên thực tế, khi bắt đầu cài đặt nhật thực mới, bạn cần phải "cài đặt" Lombok trước khi có thể sử dụng nó.

  1. Đi đến nơi mà lọ Lombok của bạn đang ở (ví dụ (ví dụ: bạn có thể tìm thấy trong ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), chạy nó (Ví dụ java -jar lombok-1.16.10.jar:). Một cửa sổ sẽ xuất hiện, duyệt đến eclipse.exevị trí của bạn .
  2. Bấm vào cài đặt.
  3. Khởi chạy Eclipse, cập nhật cấu hình dự án trên tất cả các dự án và thì đấy.

15
Nếu ngay cả sau khi thực hiện các bước trên, nó vẫn không hoạt động, hãy EXIT và BẮT ĐẦU nhật thực một lần nữa. Simple File-> Restart không hoạt động. EXIT và Start rõ ràng là cần thiết.
nanosoft

1
Tôi tin rằng tôi đã làm điều này trong khi nhật thực đóng cửa
Eildosa

2
Nếu nó đã được đóng thì tốt nó sẽ hoạt động với lần bắt đầu tiếp theo. Nhưng nếu nó đã được bắt đầu và EXIT rõ ràng và bắt đầu là bắt buộc.
nanosoft

2
Làm tốt lắm @Elidosa --- Nó đang hoạt động, nhưng có cần phải Thoát và bắt đầu nhật thực, chỉ khởi động lại không hoạt động
SMT

Tôi cũng cần thiết để làm sạch các dự án để loại bỏ lỗi biên dịch
Aditya

83
  • Nếu bạn sử dụng STS . Bạn phải cài đặt Lombok trong Eclipse của mình bằng cách chạy lombok-xyz.jar

  • Vui lòng thử các bước sau:

    1. Bao gồm pom trong Maven.
    2. Thoát / Tắt STS
    3. Tìm lombok Jar trong ~ / .m2 / repository / org / projectlombok / lombok / version.x
    4. Từ Command Prompt / Shell java -jar lombok-1.x.y.jar Trình cài đặt Project Lombok

    5. Bắt đầu STS

Đó là tất cả.

CHỈNH SỬA : Tôi đã làm điều này và vẫn hiển thị lỗi, như đã đề cập trong các nhận xét. Vì vậy, tôi đã cập nhật dự án: nhấp chuột phải vào dự án -> Maven -> Cập nhật dự án và các lỗi đã biến mất.


Tôi vẫn đang đối mặt với vấn đề không chắc chắn có chuyện gì đang xảy ra?
Pra_A

Bạn có bất kỳ thông báo lỗi nào không? Bạn có thể nhập lớp trong Tệp Pojo của mình không?
GoutamS

@Prateek Trong trường hợp không làm việc, xin vui lòng thay đổi Lombok version.And thử lại
GoutamS

1
Tôi tải xuống lombok.jar theo cách thủ công, chạy nó và sau đó khởi động lại nhật thực và các dự án được xây dựng lại, nó đã hoạt động! ...
ArifMustafa

Tôi đã gặp vấn đề tương tự đã thử mọi thứ nhưng không hoạt động. Sau đó, những gì tôi đã làm là, tôi cài đặt mới và trước khi làm bất cứ điều gì, tôi đã cài đặt Lombok. Nó đã làm việc. Ngoài ra, hãy đảm bảo rằng bạn bắt đầu với không gian làm việc mới. Nó không hoạt động với cái cũ.
Rajeev

44

Lưu ý rằng nếu bạn đang sử dụng IntelliJ, bạn sẽ muốn cài đặt plugin Lombok (có sẵn từ cài đặt IDE) và cũng cho phép xử lý chú thích.


17
Vẫn có một số người đã đến chủ đề này khi họ gặp phải vấn đề tương tự và không biết liệu plugin có cần thiết cho IntelliJ hay không. thích
Vaibs

Có ích cho tôi chẳng hạn. Tôi sử dụng Intellij! Cảm ơn!
Peter Szalay

8

Nếu bạn sử dụng nhật thực. Bạn phải cài đặt lombok trong Eclipse của mình bằng cách chạy lombok-xyz.jar (ví dụ: bạn có thể tìm thấy trong ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar).

Khi cửa sổ cài đặt mở ra, bạn phải chọn vị trí của Eclipse. Và để nó cài lombok vào bên trong. Bạn phải khởi động lại Eclipse của mình sau đó.


2
"Thoát rõ ràng và sau đó bắt đầu lại.". Tệp Bình thường -> Khởi động lại không hoạt động.
nanosoft

6

Tải xuống Lombok Jar, hãy maven thay mặt chúng tôi tải xuống:

 <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
    </dependency>

Bây giờ ... lệnh mvn clean install trên dự án mới được tạo để tải jar này xuống kho lưu trữ cục bộ. Di chuyển vị trí jar, thực hiện dấu nhắc lệnh, chạy lệnh: java -jar lombok-1.16.18.jar

nhập mô tả hình ảnh ở đây

nhấp vào nút “Chỉ định vị trí” và tìm đường dẫn eclipse.exe NHƯ: nhập mô tả hình ảnh ở đây

cuối cùng cài đặt cái này bằng cách nhấp vào "Cài đặt / Cập nhật"


Đây là giải pháp đơn giản nhất mà tôi đã tìm thấy cho đến nay. Nó đã làm việc. Cảm ơn.
Freelancer

5

Đây là các hướng dẫn dòng lệnh trong đó phiên bản Đồ họa ở trên không có sẵn hoặc bạn không thể mở tệp jar Lombok bằng cách nhấp đúp, giống như trong Ubuntu.

Tại thời điểm viết, việc sử dụng Lombok không đơn giản là chỉ thêm phần phụ thuộc vào tệp xml POM của bạn và thêm chú thích. Đây là các bước tiếp theo:

1) Xác định vị trí nơi tệp jar Lombok của bạn được maven tải xuống; Thường thì nó nằm trong thư mục .m2 bên trong thư mục chính của bạn. Sau đó thực hiện lệnh sau.

java -jar lombok-1.16.18.jar install <path of where your IDE is installed>

ví dụ sử dụng:

java -jar lombok-x.xx.xx.jar install ~/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/

lệnh trên về cơ bản thực hiện cập nhật cấu hình trong IDE của bạn .inihoặc configurationtệp giống như bên dưới:

-javaagent:/home/neshant/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/lombok.jar

điều này đảm bảo rằng @Datahoặc @Getterhoặc @Settercác chú thích được IDE hiểu. Thật là kỳ lạ khi nó phải phức tạp như vậy.


ở đây tôi đang ở năm 2020 vẫn thấy bài viết của bạn hữu ích. Cảm ơn!
YazidEF

2

Đối với Sprint STS - Đặt tệp lombok.jar vào thư mục exe eclipse / sts và thêm mục nhập sau vào STS.ini.

-javaagent:lombok.jar

1

Tôi đang sử dụng studio của nhà phát triển Red hat Jboss. Tôi đã giải quyết vấn đề này bằng cách:

  1. Dự án có lomboksự phụ thuộc. Trước tiên, hãy nhìn vào .m2 kho lưu trữ của bạn và tìm lomboklọ

  2. Nhấp đúp vào jar, bạn sẽ thấy trình cài đặt ở đó chỉ định đường dẫn cho IDE như C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Khởi động lại IDE và cập nhật dự án maven, lỗi sẽ xảy ra


1
Chào mừng bạn đến với StackOverflow! Hãy cố gắng viết câu trả lời của bạn dễ đọc hơn, bằng cách sử dụng danh sách chính xác và markdown language like this.
MS Berends

1

1) Chạy lệnh java -jar lombok-1.16.10.jar. Điều này cần được chạy từ thư mục của tệp lombok.jar của bạn.

2) Thêm vị trí theo cách thủ công bằng cách chọn tệp eclipse.ini (Thư mục eclipse đã cài đặt). Thông qua " Chỉ định vị trí "

Lưu ý: Không thêm eclipse.exe vì nó sẽ làm cho trình chỉnh sửa nhật thực bị hỏng.

Cách thêm tệp eclipse.ini


1

Tôi cũng gặp phải vấn đề này, đối với trường hợp của tôi, đó là do tôi nâng cấp IntelliJ IDEA của mình mà không nâng cấp plugin Lombok. Vì vậy, chúng không tương thích.


Chỉ cần nâng cấp Plugin Lombok trong IntelliJ IDEA và khởi động lại IDE
Daria Yu

1

chỉ thêm sự phụ thuộc của Lombok là không đủ. Bạn cũng sẽ phải cài đặt plugin của Lombok.

Bạn có thể lấy tệp jar Lombok của mình bằng cách điều hướng qua (Chỉ khi bạn đã thêm phần phụ thuộc vào bất kỳ POM nào.)

m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 \ lombok-1.18.12

Ngoài ra, nếu Lombok không thể tìm thấy IDE, hãy chỉ định thủ công .exe của IDE của bạn và nhấp vào cài đặt.

Khởi động lại IDE của bạn.

Đó là nó.

Nếu bạn gặp bất kỳ vấn đề nào,

Dưới đây là video ngắn và đẹp về cách cài đặt plugin của Lombok.

Để tiết kiệm thời gian, bạn có thể bắt đầu từ 1:40.

https://www.youtube.com/watch?v=5K6NNX-GGDI

Nếu nó vẫn không hoạt động,

Xác minh rằng lombok.jar có trong tệp sts.ini của bạn (tệp cấu hình sts, có trong thư mục sts.)

-javaagent: lombok.jar

Thực hiện Alt + F5. Điều này sẽ cập nhật maven của bạn.

Đóng IDE của bạn và khởi động lại.


1
Sao câu trả lời này không có dù chỉ một phiếu bầu. Nó thực sự đã giúp. Cảm ơn rất nhiều.
sofs1

1

Nếu bạn đang sử dụng maven và Eclipse, bạn phải cài đặt thủ công.

  1. Xác minh pom

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <type>jar</type>
        </dependency>

  1. chuyển đến Maven Dependencies

nhập mô tả hình ảnh ở đây

  1. Nhấp chuột phải vào thư viện và Chạy dưới dạng ứng dụng Java

nhập mô tả hình ảnh ở đây

  1. Xác định IDE vị trí, cài đặt và đóng IDE (Eclipse). nhập mô tả hình ảnh ở đây

Tôi đã làm theo tất cả các bước bạn đã mô tả nhưng với eclipse 2019-12 và lombok 1.18.12, nhật thực không nhận ra rằng có chú thích \ @getter hoặc \ @setter trong mô hình của tôi. Thậm chí có một getter hoặc setter được tạo ra bởi lombok?
Ben

1

Người dùng Intellij, hãy đảm bảo bạn có 3 điều,

  1. Sự phụ thuộc vào Lombok
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. Plugin IntelliJ cho Lombok

  2. Chú thích Lombok, như @Getter @Setter(đảm bảo rằng nó đến từ lombok chứ không phải từ một nơi nào khác)

và nó sẽ hoạt động.


0

Khi sử dụng lombok trên bản cài đặt mới của Eclipse hoặc STS, bạn phải:

  1. Cài đặt lọ lombok mà bạn có thể tải tại https://projectlombok.org/download . Chạy jar (với tư cách Quản trị viên nếu sử dụng cửa sổ) và chỉ định đường dẫn đến cài đặt Eclipse / STS của bạn.

  2. Khởi động lại IDE của bạn (Eclipse hoặc STS)

  3. Hãy cho một chút thời gian để eclipse tạo các tệp lớp cho lombok (Có thể mất đến 4 phút trong một số trường hợp)


0

Đối với Spring ToolSuite 4 trên Mac, họ đã đổi tên ini thành SpringToolSuite4.ini.

Bạn có thể đổi tên hoặc sao chép nó sang STS.ini để được lombok công nhận. Sau đó sao chép nó trở lại tên ban đầu để IDE đọc được. (Vẫn chưa thử nếu các liên kết tượng trưng hoạt động.)



0

Những gì tôi phải làm là cài đặt lomboktrong thư mục cài đặt eclipse.

Tải xuống lombok.jartừ đây và sau đó cài đặt nó bằng lệnh sau:

java -jar lombok.jar

Sau đó, hãy đảm bảo rằng nó lombok.jarđược thêm vào đường dẫn xây dựng của bạn. Nhưng hãy đảm bảo rằng bạn không thêm nó hai lần bằng cách thêm một lần mavenhoặc nhiều gradlelần trong đường dẫn nhật thực.

Sau đó cleanbuilddự án một lần nữa và thấy tất cả các lỗi biến mất.


0

Nếu bạn sử dụng STS. Bạn phải cài đặt Lombok trong Eclipse của mình bằng cách chạy lombok-abc.jar

Vui lòng làm theo các bước:

-Bao gồm pom trong Maven. -Exit / Shutdown STS (phải) -Tìm lombok Jar trong ~ .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 -Từ lệnh nhập mô tả hình ảnh ở đây

Sau đó nhập mô tả hình ảnh ở đây

Sau đó, chọn STS.exe nhập mô tả hình ảnh ở đây

Sau đó bấm để cập nhật / cập nhật

nhập mô tả hình ảnh ở đây

sau đó Thoát trình cài đặt

Mã hóa vui vẻ

Blockquote


nó là câu trả lời trùng lặp
Tiago Medici


-1

Nếu bạn đang sử dụng maven, hãy chuyển đến phần phụ thuộc maven trong cấu trúc dự án của bạn sau đó chạy lombok jar vì dự án java sẽ cài đặt nó, sau đó thoát và bắt đầu nhật thực

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.