.NET 4 で C# を使用して Java 用のソース コード エディターを作成しています。.net からアプリケーション エディター インターフェイスで Java コードをコンパイルするために jre とやり取りする方法を知る必要があります。コードのエラーもユーザーに表示したいと思います。これを達成する方法についてのアイデアは大歓迎です。
2 に答える
JRE はruntimeであり、コンパイラには付属していないことに注意してください。JDKをコンパイルする必要があります。
最も簡単な解決策は、.Net アプリケーション内からjavacのインスタンスを生成することだと思います。おそらく、望ましい解決策は (ただし) Java 自体でアプリを作成することであり、そうすればアプリ内でJava コンパイラ APIを直接利用できます。
おそらく最も自然な相互運用方法は、Java コードを JVM で実行し、.NET コードを CLR で実行し、ランタイム ブリッジを使用してそれらの間の通信を管理することです。このシナリオでは、.NET コードは、Java クラスおよびオブジェクトのプロキシとして機能する .NET クラスおよびオブジェクトを呼び出します。プロキシは通信を管理します。呼び出し元の .NET クラスは、最終的に Java クラスを呼び出していることさえ認識していません。ランタイム ブリッジは、さまざまなアーキテクチャに相互運用性を提供します。これは、Java コードと .NET コードを異なるマシンに置くことができ、Java コードをスタンドアロン JVM または Java EE アプリケーション サーバーで実行でき、ソリューションが相互運用性を提供するためです。任意の JDK バージョン。バイトコード変換ソリューションと同様に、ソースではなく、Java バイトコードのみが必要です。
この記事のコードでは、JNBridge の JNBridgePro を使用しています。