2010-08-30 84 views
2

是否可以從JVM調用CLR方法?任何將在JVM內部託管.NET CLR實例併爲Java提供簡單映射的庫?是否有任何圖書館會這樣做?從JVM調用CLR代碼

我想爲已經運行在JVM上的現有Java應用程序編寫一個插件。

我想避免有兩個二進制文件。我只想在現有的.NET程序集中調用幾個方法(與MSBuild相關的Microsoft.Build.Framework。*東西)。

回答

1

本地沒有這是不可能的。 Java和CLR虛擬機是非常不同的野獸,它們本身不支持其他字節代碼集。

雖然使用第三方庫將兩種技術連接在一起是可能的。這裏有幾個(更多可用通過谷歌)

+0

我想你可以用COM以某種方式做到這一點。 – Gabe 2010-08-30 16:14:32

+0

@加貝,我相信COM也可以。 .Net和Java都支持向COM對象發出呼叫,所以它肯定可以成爲橋樑技術。 – JaredPar 2010-08-30 16:17:33

+0

@加貝:我從來沒有用過COM。 CLR程序集是否需要做任何特殊的事情來公開接口,或者可能使用它來調用任意方法? – liori 2010-08-30 16:34:12

1

有兩種不同的方式來做到這一點。 您可以使用IKVM在CLR上運行Java。 相反,您可以使用embed Mono這是一個.NET CLR實現,但這需要使用C和JNI。
所有這些都假定您可以遵守開源許可條款。