Trước tiên, cài đặt sourceCompatibility
của bạn là 1.7
không có nghĩa là bất kỳ điều gì về môi trường thời gian chạy, vì vậy nó không ảnh hưởng đến thông báo này.
Đây hoàn toàn là một "làm các lớp này tồn tại vào thời điểm khởi Jackson lớp này" vấn đề - và họ làm không tồn tại trong một số kết hợp. Và có thể đó là ok, nếu bạn không sử dụng lớp Java 7 java.nio.file.Path
thì bạn sẽ không gặp vấn đề với thông báo cảnh báo đã đăng nhập này. Bởi vì đó là những gì cảnh báo này là về, Jackson hỗ trợ serialization/deserialization của lớp học cụ thể này.
Nhìn vào Android java.nio.*
packages, không có gói java.nio.file.*
ở số bất kỳ mức nào API. Vì vậy, giải thích tại sao bạn thấy thông báo cảnh báo. Và kể từ khi bạn không thể sử dụng java.nio.file.Path
anyway, điều này thậm chí không phải là một vấn đề thực sự khác hơn là một tin nhắn đăng nhập gây phiền nhiễu.
Nếu thông báo này khó chịu, bạn luôn có thể đặt mức ghi nhật ký sử dụng Java cho trình ghi nhật ký com.fasterxml.jackson.databind.ext.Java7Support
thành cấp ERROR
. Sau đó, bạn sẽ không còn thấy các thông báo cảnh báo này nữa.
Thông tin thêm về thông điệp đăng nhập:
Trong Jackson 2.8.x hỗ trợ này cho Java 7 lớp java.nio.file.Path
là tất cả tải từ tập tin JAR cùng và là built-in. Một lớp tự động kiểm tra nếu khác có thể tải mà không có lỗi:
Class<?> cls = Class.forName("com.fasterxml.jackson.databind.ext.Java7SupportImpl");
Cách duy nhất này có thể thất bại là nếu cái gì đó đang tước lớp này từ tập cuối cùng của lớp học. Hoặc một trong các lớp này tùy thuộc vào thiếu thời gian chạy:
import java.beans.ConstructorProperties;
import java.beans.Transient;
import java.nio.file.Path;
Nếu thiếu bất kỳ thứ gì trong số đó, bạn sẽ thấy thông báo lỗi đã ghi. Vì vậy, một trong số này là đúng:
- một hoặc nhiều của JDK 7 lớp học bị thiếu trong thời gian chạy
com.fasterxml.jackson.databind.ext.Java7SupportImpl
là mất tích trong thời gian chạy
Cả những nguyên nhân là lỗi của Jackson, họ là một cái gì đó về môi trường thời gian chạy của bạn (tức là chúng không tồn tại trong API của Android), hoặc các lớp tước Proguard mà nó không nghĩ là được sử dụng.
Xem thêm:
Bạn đã kiểm tra này - https://github.com/FasterXML/jackson-databind/blob/master/ src/main/java/com/fastxml/jackson/databind/ext/Java7Support.java –