views:

96

answers:

1

This is doing my head right in!

I am messing about with JRuby trying to make some Java calls. Here is the source Im messing with.

require 'java'

module JavaLang
  include_package "java.lang"
end

module JavaSql
  include_package 'java.sql'
end

begin
    JavaLang::Class.forName("com.mysql.jdbc.Driver").newInstance
    jdbcconnection = JavaSql::DriverManager.getConnection("jdbc:mysql://localhost:3306/accounts", 'root', '');

    puts 'Werked'
rescue Exception => ex
    connectmsg = "Could not connect to the database: " + ex.message;
    puts connectmsg
end

I am using Netbeans 6.8 as the IDE.

When I run the script it all works fine and I get Werked printing out in the output.

When I try to run this through on the debugger I get

Could not connect to the database: java.lang.ClassNotFoundException: com/mysql/jdbc/Driver

Im sure its just something basic to do with setting a debugger configuration, but I can't find anything anywhere to give me a clue.

Why would the debugger not pick up these java classes?

Edit

Just to follow up, this is a bug in Netbeans 6.8. Here is the bug report.

Relieved that Im not going mad!

+1  A: 

This seems like a general classpath issue. The fact that the reflection fails, supports this. Are you sure that your classpath is the same / similar to your runtime classpath?

gpampara
Yes, spot on! The classpath Ive set in the IDE hasnt been applied to the debug classpath. Now I need to work out how to get it to apply this. Thanks!
Mongus Pong
Glad it's sorted.
gpampara