Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails+JRuby:在呈现默认应用程序时,我遇到了一个JDBC错误_Ruby On Rails_Ruby_Jdbc_Jruby - Fatal编程技术网

Ruby on rails Rails+JRuby:在呈现默认应用程序时,我遇到了一个JDBC错误

Ruby on rails Rails+JRuby:在呈现默认应用程序时,我遇到了一个JDBC错误,ruby-on-rails,ruby,jdbc,jruby,Ruby On Rails,Ruby,Jdbc,Jruby,我试图让Rails在JRuby环境下工作。我让一切都运转起来;没有安装错误 我使用jruby-S gem安装Rails安装了Rails,然后使用jruby-S Rails new webtest和Rails-S new webtest第二次尝试创建了一个测试应用程序。这两个命令都部署了完整的应用程序目录,没有错误 现在,我根本没有改变任何东西,我现在只是想在尝试其他东西之前看看默认值是否有效,所以我用cd-webtest并运行jruby-S rails server-Bx.xx.xx.xx第二次

我试图让Rails在JRuby环境下工作。我让一切都运转起来;没有安装错误

我使用jruby-S gem安装Rails安装了Rails,然后使用jruby-S Rails new webtest和Rails-S new webtest第二次尝试创建了一个测试应用程序。这两个命令都部署了完整的应用程序目录,没有错误

现在,我根本没有改变任何东西,我现在只是想在尝试其他东西之前看看默认值是否有效,所以我用cd-webtest并运行jruby-S rails server-Bx.xx.xx.xx第二次尝试:rails server-Bx.xx.xx,其中x代表内部网络中的服务器ip地址。服务启动并输出应用程序URL、PID等。我绑定到ip地址是因为我需要从另一台机器访问应用程序,因为只有在我离开默认绑定[即localhost]时,服务器本身才是控制台,因此应用程序由于某种原因无法访问

但当我试图打开应用程序时,使用http://x.xx.xx.xx:3000 我得到了一个Rails异常页面,其标题为ActiveRecord::JDBCError和以下stacktrace。我试图找出问题所在,但正如您所看到的,除了跟踪之外,跟踪没有显示任何特定的错误消息

非常感谢您的帮助或见解

>jruby -S rails server -b x.xx.xx.xx
NOTE: ActiveRecord 4.2 is not (yet) fully supported by AR-JDBC, please help us finish 4.2 support - check http://bit.ly/jruby-42 for starters
=> Booting WEBrick
=> Rails 4.2.0 application starting in development on http://x.xx.xx.xx:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-02-27 14:28:00] INFO  WEBrick 1.3.1
[2015-02-27 14:28:00] INFO  ruby 1.9.3 (2013-12-06) [java]
[2015-02-27 14:28:00] INFO  WEBrick::HTTPServer#start: pid=25886932 port=3000
然后,在尝试从另一台计算机访问应用程序URL时:

arjdbc/jdbc/RubyJdbcConnection.java:453:in `init_connection'
activerecord-jdbc-adapter (1.3.14) lib/arjdbc/jdbc/connection.rb:15:in `initialize'
activerecord-jdbc-adapter (1.3.14) lib/arjdbc/jdbc/adapter.rb:68:in `initialize'
activerecord-jdbc-adapter (1.3.14) lib/arjdbc/jdbc/connection_methods.rb:12:in `jdbc_connection'
activerecord-jdbc-adapter (1.3.14) lib/arjdbc/sqlite3/connection_methods.rb:24:in `sqlite3_connection'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:436:in `new_connection'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:446:in `checkout_new_connection'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `acquire_connection'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in `checkout'
/home/srpec/jruby-1.7.9/lib/ruby/1.9/monitor.rb:211:in `mon_synchronize'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in `checkout'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in `connection'
/home/srpec/jruby-1.7.9/lib/ruby/1.9/monitor.rb:211:in `mon_synchronize'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in `connection'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:565:in `retrieve_connection'
activerecord (4.2.0) lib/active_record/connection_handling.rb:113:in `retrieve_connection'
activerecord (4.2.0) lib/active_record/connection_handling.rb:87:in `connection'
activerecord (4.2.0) lib/active_record/migration.rb:384:in `connection'
activerecord (4.2.0) lib/active_record/migration.rb:371:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/callbacks.rb:29:in `call'
org/jruby/RubyProc.java:271:in `call'
activesupport (4.2.0) lib/active_support/callbacks.rb:88:in `_run_callbacks'
activesupport (4.2.0) lib/active_support/callbacks.rb:738:in `_run_call_callbacks'
activesupport (4.2.0) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.0) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.2.0) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.2.0) lib/rails/rack/logger.rb:20:in `call'
activesupport (4.2.0) lib/active_support/tagged_logging.rb:68:in `tagged'
activesupport (4.2.0) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.2.0) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.2.0) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.6.0) lib/rack/methodoverride.rb:22:in `call'
rack (1.6.0) lib/rack/runtime.rb:18:in `call'
activesupport (4.2.0) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
rack (1.6.0) lib/rack/lock.rb:17:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/static.rb:113:in `call'
rack (1.6.0) lib/rack/sendfile.rb:113:in `call'
railties (4.2.0) lib/rails/engine.rb:518:in `call'
railties (4.2.0) lib/rails/application.rb:164:in `call'
rack (1.6.0) lib/rack/lock.rb:17:in `call'
rack (1.6.0) lib/rack/content_length.rb:15:in `call'
rack (1.6.0) lib/rack/handler/webrick.rb:89:in `service'
/home/srpec/jruby-1.7.9/lib/ruby/1.9/webrick/httpserver.rb:138:in `service'
/home/srpec/jruby-1.7.9/lib/ruby/1.9/webrick/httpserver.rb:94:in `run'
/home/srpec/jruby-1.7.9/lib/ruby/1.9/webrick/server.rb:191:in `start_thread'
环境资料:

>rails -v
Rails 4.2.0

>jruby -v
jruby 1.7.9 (1.9.3p392) 2013-12-06 87b108a on IBM J9 VM pap3270_27sr2-20141101_01 (SR2) [AIX-ppc]

>jgem list --local

*** LOCAL GEMS ***

actionmailer (4.2.0)
actionpack (4.2.0)
actionview (4.2.0)
activejob (4.2.0)
activemodel (4.2.0)
activerecord (4.2.0)
activerecord-jdbc-adapter (1.3.14)
activerecord-jdbcsqlite3-adapter (1.3.14)
activesupport (4.2.0)
arel (6.0.0)
builder (3.2.2)
bundler (1.8.3)
coffee-rails (4.1.0)
coffee-script (2.3.0)
coffee-script-source (1.9.1)
erubis (2.7.0)
execjs (2.3.0)
globalid (0.3.3)
hike (1.2.3)
i18n (0.7.0)
jbuilder (2.2.8)
jdbc-sqlite3 (3.8.7)
jquery-rails (4.0.3)
json (1.8.2 java)
loofah (2.0.1)
mail (2.6.3)
mime-types (2.4.3)
minitest (5.5.1)
multi_json (1.10.1)
nokogiri (1.6.6.2 java)
rack (1.6.0)
rack-test (0.6.3)
rails (4.2.0)
rails-deprecated_sanitizer (1.0.3)
rails-dom-testing (1.0.5)
rails-html-sanitizer (1.0.1)
railties (4.2.0)
rake (10.4.2)
rdoc (4.2.0)
sass (3.4.13)
sass-rails (5.0.1)
sdoc (0.4.1)
sprockets (2.12.3)
sprockets-rails (2.2.4)
therubyrhino (2.0.4)
therubyrhino_jar (1.7.4)
thor (0.19.1)
thread_safe (0.3.4 java)
tilt (1.4.1)
turbolinks (2.5.3)
tzinfo (1.2.2)
tzinfo-data (1.2015.1)
uglifier (2.7.0)

它是否与运行rails服务器时控制台中的此注释有关?注意:AR-JDBC尚未完全支持ActiveRecord 4.2,请帮助我们完成4.2支持-检查http://bit.ly/jruby-42 首先。。。您也在使用IBM Java的一些较旧的JRuby 1.7.x上。。。我可能会尝试升级JRuby并降级Rails。。。也没有例外的消息吗?我使用的JRuby版本接近最新版本。事实上,1.7.9是最新的版本,直到大约2个月前我下载它时,现在是1.7.19。至于ActiveRecord,它在相同的安装/环境下运行良好,因为我有一个使用API的非rails应用程序。总之,在这个JRuby环境中,一切都很好,所以我真的认为这与我的Rails安装有关。我将尝试深入了解配置。感谢您的建议@Alexavalli和kares。我将Rails和ActiveRecord降级到4.1.8,以避免缺少对AR-JDBC的支持。这消除了警告信息。不幸的是,我仍然无法让SQLite3工作。在我更改配置以使用DB2连接之后,Rails工作得非常好。因此,SQLite3适配器可能存在一些问题。另外,我忘了提到我在AIX服务器上运行Rails,这也导致了TZInfo的另一个问题。为了解决这个问题,我安装了tzinfo和tzinfo数据gem并将其添加到GEM文件中。