0

実行時にクラスをロードするコードがいくつかあります。

Class.forName("oracle.jdbc.driver.OracleDriver");

しかし、これと IKVM には問題があるようです - Java プログラムで上記を達成する別の方法があるかどうか、または ikvm で問題が発生する理由を誰かが知っているかどうか疑問に思っていましたか?

ありがとう

申し訳ありませんが、調べる方法がありませんでした。ここまでたどり着くのに何年もかかりました。これは Exception e catch ステートメントでキャッチされ、上記の行によってスローされたと確信しています

classname IKVM.NativeCode.java.lang.Class Filename null メソッド名 forName0 行番号 -1 classname java.lang.Class ファイル名 Class.java メソッド名 forName0 行番号 -2 classname java.lang.Class ファイル名 Class.java メソッド名 forName 行number 287 クラス名 テスト ファイル名 Test.java メソッド名 init 行番号 50 クラス名 テスト ファイル名 Test.java メソッド名 isPDFAvailable 行番号 24 クラス名 cli.Analytical_Report.Form1 ファイル名 Form1.cs メソッド名 hasGains 行番号 296 クラス名 cli.Analytical_Report.Form1 ファイル名 Form1 .cs メソッド名 determineAvailableData 行番号 209 classname cli.Analytical_Report.Form1 ファイル名 Form1.cs メソッド名 consumerFile 行番号 71 classname cli.Analytical_Report.Form1 ファイル名 Form1.cs メソッド名 btnSelectFile_Click 行番号 49 classname cli.System.Windows.Forms.コントロール ファイル名 null メソッド名 OnClick 行番号 -1 クラス名 cli.System.Windows.Forms.Button ファイル名 null メソッド名 OnClick 行番号 -1 クラス名 cli.System.Windows.Forms.Button ファイル名 null メソッド名 OnMouseUp 行番号 -1 クラス名 cli .System.Windows.Forms.Control ファイル名 null メソッド名 WmMouseUp 行番号 -1 クラス名 cli.System.Windows.Forms.Control ファイル名 null メソッド名 WndProc 行番号 -1 クラス名 cli.System.Windows.Forms.ButtonBase ファイル名 null メソッド名WndProc 行番号 -1 クラス名 cli.System.Windows.Forms.Button ファイル名 null メソッド名 WndProc 行番号 -1 クラス名 cli.System.Windows.Forms.Control$ControlNativeWindow ファイル名 null メソッド名 OnMessage 行番号 -1 クラス名 cli.System. Windows.フォーム。Control$ControlNativeWindow ファイル名 null メソッド名 WndProc 行番号 -1 クラス名 cli.System.Windows.Forms.NativeWindow ファイル名 null メソッド名 DebuggableCallback 行番号 -1 クラス名 cli.System.Windows.Forms.UnsafeNativeMethods ファイル名 null メソッド名 DispatchMessageW 行番号 -1 classname cli.System.Windows.Forms.Application$ComponentManager ファイル名 null メソッド名 System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop 行番号 -1 classname cli.System.Windows.Forms.Application$ThreadContext ファイル名 null メソッド名 RunMessageLoopInner 行番号-1 classname cli.System.Windows.Forms.Application$ThreadContext ファイル名 null メソッド名 RunMessageLoop 行番号 -1 classname cli.System.Windows.Forms.Application ファイル名 null メソッド名 Run 行番号 -1 classname cli.Analytical_Report.Program ファイル名 Program.cs メソッド名 Main 行番号 18 classname cli.System.AppDomain ファイル名 null メソッド名 _nExecuteAssembly 行番号 -1 classname cli.System.AppDomain ファイル名 null メソッド名 ExecuteAssembly 行番号 -1 classname cli.Microsoft.VisualStudio. HostingProcess.HostProc Filename null メソッド名 RunUsersAssembly 行番号 -1

4

3 に答える 3

1

ikvm について聞くのは初めてですが、私は助けようとします。

まず、JDBC ドライバーをロードする別の方法は、

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

とにかく、コマンド ikvmc を使用して JAR を DLL に変換する必要がある ikvm Web サイトを読みました。Oracle ドライバー JAR を DLL に既に変換しましたか? そして、この JAR/DLL 内のクラスをプログラムで使用できるようにしましたか? (Java クラスパスに相当するものは何でも)

それが役立つことを願っています!

于 2011-08-03T22:27:26.723 に答える
0

ClassLoader の IKVM wiki を参照するか、問題を詳しく説明してください。

于 2011-08-13T15:09:43.547 に答える