2010-08-30 4 views
2

Можно ли вызвать CLR-методы из JVM? Любая библиотека, в которой будет размещаться экземпляр .NET CLR внутри JVM, и обеспечить простое сопоставление для Java? Есть ли библиотеки, которые это сделают?Вызов кода CLR от JVM

Я хотел бы написать плагин для существующего приложения Java, которое уже работает на JVM.

Я хотел бы избежать наличия двух двоичных файлов. Я хочу только назвать несколько методов в существующей сборке .NET (MSBuild-related Microsoft.Build.Framework. * Stuff).

ответ

1

Натурально нет, это невозможно. Виртуальные машины Java и CLR - это совсем другие звери, которые не поддерживают друг друга в байтах.

Возможно использовать библиотеки сторонних разработчиков для объединения двух технологий. Вот несколько (более доступны через Google)

+0

Я бы подумал, что вы можете сделать это с COM как-то. – Gabe

+0

@Gabe, я уверен, COM тоже будет работать. Оба .Net и Java поддерживают вызов COM-объектов, поэтому это, безусловно, может быть технологией моста. – JaredPar

+0

@Gabe: Я никогда не использовал COM. Требуется ли для сборки CLR сделать что-либо особенное, чтобы разоблачить интерфейсы, или, возможно, можно использовать произвольные методы, используя это? – liori

1

Есть два способа сделать это. Вы можете запустить Java на CLR, используя IKVM. И наоборот, вы можете embed Mono, который представляет собой реализацию .NET CLR, хотя для этого потребуется использовать C и JNI.
Все это предполагает, что вы можете выполнять условия лицензий с открытым исходным кодом.

Смежные вопросы