我来自.net世界。我记得.net会立即抱怨,如果你建立一个DLL,但在运行时提供一个不同的DLL。运行差异罐?
我现在添加一些hadoop引用到我的项目,并找到以下文章。
http://answers.mapr.com/questions/364/maven-repository-for-mapr-jar-files
我只是不明白这是如何发生。
Java可以用一个jar构建,但可以使用不同的jar来运行?
谢谢
我来自.net世界。我记得.net会立即抱怨,如果你建立一个DLL,但在运行时提供一个不同的DLL。运行差异罐?
我现在添加一些hadoop引用到我的项目,并找到以下文章。
http://answers.mapr.com/questions/364/maven-repository-for-mapr-jar-files
我只是不明白这是如何发生。
Java可以用一个jar构建,但可以使用不同的jar来运行?
谢谢
是的。这通常是API的情况(您可以编译API,但是在运行时您可以使用可能包含在该实现中的更新版本的API来运行)。只要编译代码中引用的类/方法原型与您编译的jar版本保持不变,一切都会正常工作。
有关兼容性的特定定义,请参阅binary compatibility(感谢@MiserableVariable的链接)。
查找[二进制兼容性](http://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html) –
我可能会错。 .net只会抱怨,如果版本不正确,我记得,所以DLL是它是什么。动态链接库。多谢你们。 – Frank