2009-11-16 3 views
3

У нас есть основной код кода на Java, который работает на рабочем столе, который мы хотим повторно использовать с помощью пользовательского интерфейса MS.NET (вместо настольного компьютера, а не через Интернет). Любые делать или не приветствовать.Самый простой способ вызвать Java из C#?

+0

Стоимость перевода этого кода слишком велика (деньги, время и т. Д.)? Большая проблема, которую я вижу, заключается в том, что в клиентской системе вам потребуется как среда выполнения .NET, так и JVM, и я предпочел бы избежать этой ситуации. –

+0

Да, миграция будет хорошо по списку. Точка, занятая в течение 2 периодов времени - звучит как переводчик, это способ избежать этого. –

+0

Dupe. http://stackoverflow.com/questions/171717/using-java-classes-with-c – finnw

ответ

8

Возможно, вы захотите взглянуть на IKVM.

Это реализация виртуальной машины Java поверх .NET Framework. Существуют некоторые части, специально предназначенные для взаимодействия с сетями .NET и Java, поэтому вы можете (более или менее) легко использовать один из них.

+0

Благодаря Johannes, IKVN находится в нашем списке в порядке - если вы его использовали, вы нашли байт-код надежным CLR? –

+0

Пока не использовал его, к сожалению. Это в моем личном списке Тодо, чтобы поиграть с ним. Но, по-видимому, они имели некоторый успех даже при больших проектах Java, поэтому он, похоже, уже достаточно зрелый, хотя в настоящее время нет поддержки и безопасности AWT/Swing. – Joey

6

Я предлагаю создать веб-службы для существующего Java-кода, чтобы действовать как оболочка и вызывать их из .net-приложения. (рабочий стол или веб-сайт)

2

Если у вас есть $$$$, вы можете попробовать mainsoft; он преобразует ваш Java-код в C# или наоборот, в зависимости от вашей прихоти.

У Eric Sink есть сообщение about this.

+0

Спасибо Ngu, мы добавим это в список - я не против платить разумные $$$ за то, что делает эту работу. –

1

Другим возможным решением могло бы в виде j-interop

Я использовал его успешно для вызова из Java -> DCOM и он утверждает, что в состоянии сделать двунаправленную материал, таким образом, в теории это должно быть возможным для регистрации процесса Java в качестве сервера DCOM.

Вам нужно будет немного поработать на стороне java, поскольку он не сможет просто заставить его работать автоматически.

1

Я согласен с методом webservices, предложенным «2009MIPS». Он предлагает самый чистый и наиболее «отлаживаемый» способ сделать это.

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