jniBridge.Calculator
私は、 1 つの単純なメソッドを持つ単純な Java クラスを持っていAdd(int a, int b)
ます。Eclipse を使用してプロジェクトをビルドした後、プロジェクトを JAR ファイルとしてエクスポートしました。
次に、JAR ファイルで proxygen を呼び出しました。これにより、C# と Java の両方のプロキシをそれぞれ含むclr
というフォルダーと という別のフォルダーが作成されました。jvm
Proxygen はbuild.cmd
および.xml
ファイルも作成しました。
その後、build.cmd
生成されたファイル.DLL
を実行しました。.JAR
今、私はこれらをC#で使用したいので、.DLLおよび.JARファイルを.NETプロジェクトフォルダーにコピーし、ファイルへの参照を追加し、ファイルを出力フォルダーに.DLL
設定して、ファイル。また、Jni4Net メイン ライブラリ ファイルへの参照を追加し、そのメイン JAR ファイル を同じディレクトリにコピーしました。ダンプに追加して、最初に使用した元の JAR ファイルも追加しました。.JAR
Copy Always
.EXE
jni4net.n-0.8.6.0.dll
jni4net.j-0.8.6.0.jar
C# 内でProgram.cs
次のことを行います。
BridgeSetup bs = new BridgeSetup();
bs.AddAllJarsClassPath(".");
Bridge.CreateJVM(bs);
Bridge.RegisterAssembly(typeof(jniBridge.Calculator).Assembly);
ただし、最後の呼び出しは次の例外で失敗します。
未処理の例外: net.sf.jni4net.jni.JNIException: classLoader sun.misc.Launcher$AppClassLoader@e39a3e から jnibridge.Calculator の Java クラスを読み込めません ---> java.lang.ClassNotFoundException: jnibridge.Calculator
助けてください!!