2012-11-28 57 views
0

我来自.net世界。我记得.net会立即抱怨,如果你建立一个DLL,但在运行时提供一个不同的DLL。运行差异罐?

我现在添加一些hadoop引用到我的项目,并找到以下文章。

http://answers.mapr.com/questions/364/maven-repository-for-mapr-jar-files

我只是不明白这是如何发生。

Java可以用一个jar构建,但可以使用不同的jar来运行?

谢谢

+0

查找[二进制兼容性](http://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html) –

+0

我可能会错。 .net只会抱怨,如果版本不正确,我记得,所以DLL是它是什么。动态链接库。多谢你们。 – Frank

回答

1

是的。这通常是API的情况(您可以编译API,但是在运行时您可以使用可能包含在该实现中的更新版本的API来运行)。只要编译代码中引用的类/方法原型与您编译的jar版本保持不变,一切都会正常工作。

有关兼容性的特定定义,请参阅binary compatibility(感谢@MiserableVariable的链接)。

+0

定义不变:) –

+0

@MisrableVariable - 是否有一些兼容的更改? – jtahlborn

+0

对不起,我不明白这个问题。 –