已编译的Java类或jar针对JVM的单个版本(例如,对于Maven编译器插件,通过javac -target
或<target>1.x</target>
)。如果一个项目针对一个JVM版本,但是依赖于使用较早目标版本构建的其他类,那么是否可能存在任何潜在问题?
我知道在较新的JVM上运行针对较旧JVM的类的轻微不兼容性。 http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html#A999198。但让我们假设,每个类本身与新的JVM没有不兼容性。
我发现我经常这样做而没有思考(我从未使用过Maven强制执行器插件http://maven.apache.org/enforcer/maven-enforcer-plugin/),所以我想更多地了解可能出现的问题。