Multi-Release JAR (MRJAR) 靠 META-INF/versions 的目录结构,让一个 jar 在运行时各挑各的实现,向后兼容和使用新 JDK 特性不用二选一,代价是几条绕不过去的限制。