2012-11-28 59 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

對不起,我不明白這個問題。 –