Представьте себе следующую строку: String content = new String(input.readAllBytes());
, которую вы хотите развернуть на JVM, работающей только Java 8. Очевидно, что это не работает, потому что readAllBytes()
доступно только с Java 9.
Так с какой стати я вообще не получаю ошибку, когда создаю это со следующими свойствами в моем build.gradle?
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
Это происходит только на той JVM, которая запускает толстый jar сборка файла shadowJar
.
Что мне здесь не хватает?