[windows] DB2 JDBC Adapters not loading (CLASSPATH issue) ---------------------------------------------------------
Key: JRUBY-4209 URL: http://jira.codehaus.org/browse/JRUBY-4209 Project: JRuby Issue Type: Bug Components: Java Integration Affects Versions: JRuby 1.4 Environment: Windows XP, Java 1.6_0.15-b03 (JRE), DB2 JDBC Adapter in 3 JAR files Reporter: Jens-Christian Fischer The DB2 JDBC adapter is distributed in 3 JAR files. We had them in jruby\lib and they got added to the CLASSPATH by Jruby automatically. This changed between 1.4.0RC1 and RC2 - now only jruby.jar is loaded. We have since added the 3 JAR files to the CLASSPATH environment var, and all is fine (for example when running on the production system, a zLinux). However under Windows the JARs are not picked up, and we get an initialisation error. CLASSPATH is set correctly, and a JRuby program sees it (doing a "puts ENV['CLASSPATH']" shows the correct path. Our IDE (RubyMine) also picks up the CP and passes it correctly to the Java (it doesn't use jruby.exe but calls java directly) like in the following call: "c:\programme\jetbrains\rubymine 2.0 beta 3\jre\jre\bin\java.exe" -Xverify:none -da -Xmx500m -Xss1024k -cp C:\Programme\jruby-1.4\lib\db2jcc.jar;C:\Programme\jruby-1.4\lib\db2jcc_license_cisuz.jar;C:\Programme\jruby-1.4\lib\db2jcc_license_cu.jar;C:\Programme\jruby-1.4\lib\jruby.jar;C:\Programme\jruby-1.4\lib\profile.jar -Djruby.base=C:\Programme\jruby-1.4 -Djruby.home=C:\Programme\jruby-1.4 -Djruby.lib=C:\Programme\jruby-1.4\lib -Djruby.shell="cmd.exe" -Djruby.script=jruby.bat org.jruby.Main -e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift) "C:\Programme\JetBrains\RubyMine 2.0 Beta 3\rb\testing\runner\specs_in_folder_runner.rb" As soon as JRuby is called (for example the above line collects the spec files and passes them to a new JRuby instance), it fails: RSpec script : C:/cygwin/home/H7DAECW/work/realos/script/spec Ruby Options: ["-e", "STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift)"] Spec Options: [] ========================================= Running specs... Ruby interpreter arguments: ["-e", "STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift)", "C:/cygwin/home/xxxxx/work/realos/script/spec", "--require", "teamcity/spec/runner/formatter/teamcity/formatter", "--format", "Spec::Runner::Formatter::TeamcityFormatter:matrix", "C:/cygwin/home/xxxxx/work/realos/spec/controllers/application_controller_spec.rb", [...snip....] /_documents_overview.html.haml_spec.rb JRuby limited openssl loaded. gem install jruby-openssl for full support. http://jruby.kenai.com/pages/JRuby_Builtin_OpenSSL C:/cygwin/home/xxxxx/work/realos/vendor/gems/activerecord-jdbc-adapter-0.9.2/lib/active_record/connection_adapters/jdbc_adapter.rb:331:in `initialize': The driver encountered an error: cannot initialize Java class com.ibm.db2.jcc.DB2Driver (RuntimeError) and the stacktrace. The same error happens when we run any tasks from the commandline ("rake spec", "script/server", ....) Running them from inside the IDE (and when no second JRuby instance is started) works (so we know that the JARs are loaded and initialized correctly) The only solution I see for now is to revert the patch that only adds jruby.jar to the Classpath. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email