Java 在运行时加载类
我有一些在运行时加载类的代码:Java 在运行时加载类,java,ikvm,Java,Ikvm,我有一些在运行时加载类的代码: Class.forName("oracle.jdbc.driver.OracleDriver"); 但这和IKVM似乎存在问题——我想知道是否有其他方法可以在我的Java程序中实现上述功能,或者是否有人知道为什么这可能会导致IKVM发布 谢谢 对不起,我不知道怎么找到,我花了好长时间才走到这一步!这是在Exception e catch语句中捕获的,我很确定它是由上面发布的行抛出的 classname IKVM.NativeCode.java.lang.Clas
Class.forName("oracle.jdbc.driver.OracleDriver");
但这和IKVM似乎存在问题——我想知道是否有其他方法可以在我的Java程序中实现上述功能,或者是否有人知道为什么这可能会导致IKVM发布
谢谢
对不起,我不知道怎么找到,我花了好长时间才走到这一步!这是在Exception e catch语句中捕获的,我很确定它是由上面发布的行抛出的
classname IKVM.NativeCode.java.lang.Class文件名空方法名
forName0行号-1 classname java.lang.Class Filename Class.java
方法名称forName0行号-2 classname java.lang.Class文件名
Class.java方法名forName行号287 classname测试文件名
Test.java方法名init行号50 classname测试文件名
Test.java方法名isPDFAvailable行号24 classname
cli.analysis_Report.Form1文件名Form1.cs方法名hasGains
行号296 classname cli.analysis_Report.Form1 Filename
Form1.cs方法名称确定可用数据行号209类名称
cli.analysis_Report.Form1文件名Form1.cs方法名称文件
行号71 classname cli.Analytical_Report.Form1文件名Form1.cs
方法名称BTN选择文件\单击行号49类名称
cli.System.Windows.Forms.Control Filename空方法名OnClick
行号-1 classname cli.System.Windows.Forms.Button文件名null
方法名称OnClick行号-1 classname
cli.System.Windows.Forms.Button文件名空方法名OnMouseUp
行号-1类名称cli.System.Windows.Forms.Control文件名
空方法名WmMouseUp行号-1类名
cli.System.Windows.Forms.Control文件名null方法名WndProc
行号-1类名称cli.System.Windows.Forms.ButtonBase文件名
空方法名称WndProc行号-1类名称
cli.System.Windows.Forms.Button文件名null方法名WndProc行
第1类名称
cli.System.Windows.Forms.Control$ControlNativeWindow文件名null
消息行号上的方法名称-1类名称
cli.System.Windows.Forms.Control$ControlNativeWindow文件名null
方法名称WndProc行号-1类名称
cli.System.Windows.Forms.NativeWindow文件名空方法名
DebuggableCallback行号-1类名称
cli.System.Windows.Forms.UnsafeNativeMethods文件名null方法名
DispatchMessageW行号-1类名称
cli.System.Windows.Forms.Application$ComponentManager文件名null
方法名
System.Windows.Forms.UnsafentiveMethods.IMsoComponentManager.FPushMessageLoop
行号-1类名称
cli.System.Windows.Forms.Application$ThreadContext文件名null
方法名称RunMessageLoopInner行号-1类名称
cli.System.Windows.Forms.Application$ThreadContext文件名null
方法名称RunMessageLoop行号-1类名称
cli.System.Windows.Forms.Application文件名null方法名运行
行号-1 classname cli.analysis_Report.Program Filename
Program.cs方法名称主线编号18类名称
cli.System.AppDomain Filename null方法名称\u nexecuteasembly行
编号-1 classname cli.System.AppDomain文件名空方法名
ExecuteAssembly行号-1类名称
cli.Microsoft.VisualStudio.HostingProcess.HostProc文件名null
方法名称RunUsersAssembly行号-1
这是我第一次听说ikvm,但我会尽力帮助你 首先,加载JDBC驱动程序的另一种方法是使用
DriverManager.registerDriver(新的oracle.jdbc.driver.OracleDriver())代码>
无论如何,我在ikvm网站上读到,您必须使用命令ikvmc将JAR转换为DLL。您是否已经将Oracle驱动程序JAR转换为DLL?还有:你确定你已经使这个JAR/DLL中的类对程序可用了吗?(Java类路径的任何等价物)
希望有帮助 您可以查看或更好地描述您的问题。不同的数据库格式和JDBC驱动程序,但只需对oracle和oracle驱动程序稍作修改即可(为了清晰起见,请使用完整的名称空间):
“似乎是问题”到底是什么意思?您是否遇到异常?是否可能您没有编译(转换后的名称是否正确?)包含OracleDriver的jar?我如何判断是否是这种情况?
java.lang.Class.forName(typeof(org.hsqldb.jdbcDriver).AssemblyQualifiedName);
java.sql.DriverManager.registerDriver(new org.hsqldb.jdbcDriver());
conn = java.sql.DriverManager.getConnection(url, username, password);