jruby - 为什么在使用 Warbler 时 JRuby WAR 中没有包含 db 目录?

标签 jruby warbler

我创建了一个简单的“hello”类型的 JRuby 应用程序,并使用 Warbler 进行 WAR,然后部署到 JBoss。但是,我在使用该应用程序时遇到以下错误:

ActiveRecord::JDBCError(驱动遇到未知错误:java.sql.SQLException: path to '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db/production.sqlite3': '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db' 不存在):

果然,当我深入研究 demo.war 文件时,WEB-INF 目录中缺少 db 目录。 db 目录与测试、开发和生产数据库文件一起存在于 app 目录中。

有什么想法吗?

最佳答案

通常 db 目录只包含迁移。如果您使用的是 sqlite3,它包含数据库文件,但是由于当您在生产环境中部署 war 时,它会在服务器内部某处解压并可能在重新部署时被删除,您的数据库文件将随着重新部署而消失。如果该文件是只读的并且您不担心这种考虑,那么您可以通过运行 warble config 并编辑 config/warble.rb 轻松添加 db 目录,然后将 db 添加到 config.dirs 数组。

关于jruby - 为什么在使用 Warbler 时 JRuby WAR 中没有包含 db 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280163/

相关文章:

ruby - 我如何知道我使用的是哪个 Ruby 解释器?

java - 如何在 Warlber 中设置源和目标 java 版本

ruby-on-rails - 莺:我的影像在哪里

java - 将 java System.out.println 重定向到 jruby 中的文件

java - 我如何在 JRuby 中使用 Sesame 的 RDFXMLParser?

ruby-on-rails - 莺和 tomcat 的上下文设置不正确

tomcat - Padrino 应用程序在部署到 tomcat Windows 7 时不加载自定义助手

ruby-on-rails - 莺 - 没有这样的文件来加载 zip/zip

ruby-on-rails - 推送到 heroku 时,rake 中止不接受 TCP/IP 连接

mysql - 运行 Rspec 时 ActiveRecord 无法连接到数据库服务器