首先,您的sourceCompatibility
設置1.7
並不代表關於運行時環境的任何內容,因此它對此消息沒有影響。
這純粹是一個「做這些類傑克遜初始化此類時存在」的問題 - 和他們做不存在的某種組合。也許這很好,如果你不使用Java 7 java.nio.file.Path
類,那麼你應該沒有問題,這個記錄警告消息。因爲這就是這個警告的意思,傑克遜支持這個特定類的序列化/反序列化。在Android java.nio.*
packages
來看,它並沒有java.nio.file.*
包在任何 API級別。這就解釋了爲什麼你會看到警告信息。而且由於無論如何你都不能使用java.nio.file.Path
,除了惱人的日誌消息之外,這甚至不是真正的問題。
如果此消息很麻煩,您可以隨時將記錄器com.fasterxml.jackson.databind.ext.Java7Support
的Java Util Logging級別設置爲級別ERROR
。然後您將不再看到這些警告消息。
更多有關記錄的消息:
在傑克遜2.8.x的Java 7類java.nio.file.Path
這種支持是從同一個JAR文件中所有負載,並內置。一類動態檢查,如果另一個可以在不加載錯誤:
Class<?> cls = Class.forName("com.fasterxml.jackson.databind.ext.Java7SupportImpl");
這可能失敗的唯一方法是,如果事情是從最後一組類剝離這一類。或者,這些類這取決於從運行缺少的一個:
import java.beans.ConstructorProperties;
import java.beans.Transient;
import java.nio.file.Path;
如果其中任何的丟失,那麼將看到記錄的錯誤消息。因此,其中的一個是真實的:
- 一個或一個以上的JDK 7類缺少在運行時
com.fasterxml.jackson.databind.ext.Java7SupportImpl
在運行時丟失
無論這些原因是傑克遜的錯,他們是什麼關於您的運行時環境(即它們不存在於Android API中)或它認爲不被使用的Proguard剝離類。
參見:
你檢查這一點 - https://github.com/FasterXML/jackson-databind/blob/master/的src /主/ JAVA/COM/fasterxml /傑克遜/數據綁定/ EXT/Java7Support.java –