Điểm:6

Khi biên dịch một dự án, Maven đưa ra lỗi

lá cờ in

Hệ điều hành Linux - Ubuntu 20.04.2 LTS Khi biên dịch một dự án, Maven đưa ra lỗi

[ERROR] Lỗi khi thực thi Maven.
[ERROR] java.lang.IllegalStateException: Không thể tải mục bộ đệm
[ERROR] Nguyên nhân: Không thể tải mục bộ đệm
[ERROR] Nguyên nhân: Không thể khởi chạy lớp com.google.inject.internal.cglib.core.$MethodWrapper

phiên bản java

phiên bản openjdk "17" 2021-09-14 LTS
Môi trường thời gian chạy OpenJDK (bản dựng 17+35-LTS)
OpenJDK 64-Bit Server VM (bản dựng 17+35-LTS, chế độ hỗn hợp, chia sẻ)

phiên bản mvn

Apache Maven 3.6.3
Trang chủ Maven: /usr/share/maven
Phiên bản Java: 17, nhà cung cấp: BellSoft, thời gian chạy: /usr/lib/jvm/bellsoft-java17-amd64
Ngôn ngữ mặc định: ru_RU, mã hóa nền tảng: UTF-8
Tên hệ điều hành: "linux", phiên bản: "5.11.0-37-generic", vòm: "amd64", họ: "unix"

java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'

java.home = /usr/lib/jvm/bellsoft-java17-amd64
lá cờ in
Có rất nhiều Linux. Bạn đang chạy bản phân phối và phiên bản nào?
Điểm:1
lá cờ us

Tôi phải đối mặt với cùng một vấn đề. Rất tiếc, tôi chỉ có thể cập nhật lên 3.6.3 thông qua trình quản lý gói nên tôi đã cài đặt thủ công. Các bước cài đặt trên ubuntu bên dưới:

Maven 3.3+ yêu cầu cài đặt JDK 1.7 trở lên.

Tải xuống Apache Maven. Tôi đã cài đặt 3.8.4, bạn có thể kiểm tra phiên bản mới nhất tại đây: https://maven.Apache.org/download.cgi

Chúng tôi lưu kho lưu trữ vào /tmp

$ TMP_MAVEN_VERSION=3.8.4
$ wget https://apache.org/dist/maven/maven-3/$TMP_MAVEN_VERSION/binaries/apache-maven-$TMP_MAVEN_VERSION-bin.tar.gz -P /tmp

Sau đó giải nén ra /opt và xóa kho lưu trữ

$ sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt
$ sudo rm /tmp/apache-maven-*-bin.tar.gz

Tiếp theo, chúng tôi tạo một liên kết tượng trưng

$ sudo ln -s /opt/apache-maven-$TMP_MAVEN_VERSION /opt/maven

Cuối cùng, chúng tôi thiết lập env

$ Sudo echo "xuất Java_HOME=/usr/lib/jvm/default-java
xuất M2_HOME=/opt/maven
xuất MAVEN_HOME=/opt/maven
xuất PATH=${M2_HOME}/bin:${PATH}" >> /etc/profile.d/maven.sh

Để sử dụng nó mà không cần khởi động lại, chúng tôi làm cho nó có thể thực thi được và chạy trong

$ Sudo chmod +x /etc/profile.d/maven.shsource /etc/profile.d/maven.sh
nguồn $ /etc/profile.d/maven.sh

Bây giờ bạn có thể xác minh rằng nó đã được cài đặt đúng cách

$ mvn -v
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Trang chủ Maven: /opt/maven
Phiên bản Java: 11.0.13, nhà cung cấp: Ubuntu, thời gian chạy: /usr/lib/jvm/java-11-openjdk-amd64
Ngôn ngữ mặc định: en, mã hóa nền tảng: UTF-8
Tên hệ điều hành: "linux", phiên bản: "5.11.0-1022-aws", vòm: "amd64", họ: "unix"

Xuất phát từ

Điểm:1
lá cờ rs

Vấn đề tương tự tôi cũng gặp phải. Và tôi đã có giải pháp. Cập nhật phiên bản maven mới nhất là 3.8.3. Với maven mới nhất, nó đang hoạt động.

mvn -v
Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
Trang chủ Maven: /opt/maven
Phiên bản Java: 17, nhà cung cấp: Bản dựng riêng, thời gian chạy: /usr/lib/jvm/java-17-openjdk-amd64
Ngôn ngữ mặc định: en_IN, mã hóa nền tảng: UTF-8
Tên hệ điều hành: "linux", phiên bản: "5.10.0-1051-oem", vòm: "amd64", họ: "unix"
Điểm:-1
lá cờ br

Kể từ ngày 25/10/2021, maven không hỗ trợ Java 17.

Tạo ra vi ~/.mavenrc tệp và cung cấp bất kỳ phiên bản nào thấp hơn 17.

xuất Java_HOME=/usr/lib/jvm/java-16-openjdk-AMD64/

Digao avatar
lá cờ gb
nó không hoạt động ở đây ...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.