问题标签 [warbler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
825 浏览

jruby - 应该如何使用 warbler 将 jruby-jars 和 jruby-rack 添加到类路径中?

我一直在阅读莺源代码,但我无法弄清楚 jruby-jars 和 jruby-rack jars 是如何最终出现在 servlet 类路径上的?

似乎莺正在将它们复制到web-inf/gems/gems/<gemname>/lib/<jarname>.jar但它们不在类路径上。

我猜如果我把它们放在我的 ruby​​ 应用程序 lib/ 文件夹中,它们会被复制到 web-inf/lib 并且一切都会好起来的,但是,在 war 文件中有 2 个 jar 副本似乎很奇怪,是那我该做什么?

0 投票
1 回答
1250 浏览

ruby-on-rails - 使用 Bundler 和 JRuby 的 Rails 部署策略

我有一个 jruby rails 应用程序,我刚刚开始使用 bundler 进行 gem 依赖管理。我有兴趣听取人们对部署策略的意见。文档说这bundle package会在本地打包你的 gem,这样你就不必在服务器上获取它们(我相信 warbler 默认会这样做),但我个人认为(对我们来说)这不是我们部署的方式代码(在我们的例子中是一个 WAR 文件)变得更大。

我的偏好是模仿我们的 MVN 设置,该设置在将代码复制到服务器后直接在服务器上获取所有依赖项。以下是我的想法,感谢所有评论:

Step1:构建war文件,复制到服务器
Step2:在服务器上解压war,使用mvn获取java依赖Step3:使用Bundler获取Gem deps(这些应该放在哪里??)
* Step 3是我有点不清楚的步骤在。我是否bundle install有特定的目标?
第四步:重启Tomcat

我在这里的理由是,我想在部署时将依赖项与代码分开。我还想将所有 gem 依赖项放在应用程序本身中,以便包含它们,而不是将它们安装在应用程序用户的主目录中(同样,我相信这是 Bundler 的默认设置)

0 投票
0 回答
658 浏览

java - 使用莺创建战争时出错

我有一个 jruby 应用程序,并使用 warbler 制作它的战争文件。但是每次我运行jruby -S rake warThe warbler 都会抛出一个错误,它说can't convert nil to String并且错误在 ruby​​zip 中,它发生在 rake 调用 war:jar 时,那么我该如何解决呢?

我们还有其他选择来为 jruby 制造战争吗?(在莺旁边)

以下是我的系统上的内容。

0 投票
1 回答
166 浏览

ruby-on-rails - jruby 正则表达式在 Windows 上与 os x 不同?

我有一个在 rails 中打印的 jruby 正则表达式:

在 os x 上,使用 WEBRick 和 jruby,打印出来

在 Windows 上,这打印

我用warbler把它包装成一个war,然后把它放到windows上的tomcat目录中。

是什么赋予了?

编辑- 摩尔信息

问题原来是环境设置。莺默认为“生产”,而不是开发。但是,我仍然不明白为什么它会这样。

更多细节 - 这是我在我的 RoR 应用程序中实现安全性的方式。我有一个secure?方法ApplicationController,并覆盖@@private子类中的值。看起来环境设置为生产,正则表达式停止在基类中初始化。它\\适用于每个人,这导致了我的其他问题。

想法?

0 投票
1 回答
1024 浏览

ruby-on-rails - jruby rails 3 和莺

我正在尝试进行部署战。我安装了 jdbc-mysql、activerecord-jdbcmysql-adapter 和 warbler gems。我已经编辑了 config/database.yml 并将适配器更改为 jdbcmysql ...但我什至无法运行 warble 配置而不收到此错误消息:

我尝试任何颤音命令我都会得到这个......有人知道我错过了什么吗?

0 投票
2 回答
878 浏览

jruby - JRuby on Rails 应用程序和 JBoss 4.2.0/Tomcat 5.5

我的 JRuby on rails 应用程序在 Tomcat 6.0 上运行良好,但是当我将它部署在我公司的 JBoss 4.2.0/Tomcat 5.5 (Servlet API 2.4) 的 webfarm 上时,它失败并显示以下堆栈跟踪:

进而:

谢谢, 阿卡迪

0 投票
2 回答
2011 浏览

jruby - jRuby 和 Warbler、RVM 和 Tomcat 的问题

我一直很难将 jRuby on Rails 3 部署在 Tomcat 6 上。我让它只工作了一次。

我修改了我的 database.yaml 和 Gemfile 以检查 jRuby,如下所示:

一些环境设置:

当我运行时,jruby -S bundle install一切都很顺利。

当我尝试做类似的事情时rake db:migratejruby -S rake db:migrate或者warble我得到 50 条弃用警告和最终的堆栈溢出。

我通过删除莺插件解决了这个问题,它不喜欢这条线Warbler::Task.new

接下来,我跑来warble config给我一个 config/warbler.rb 文件。

最后,warble创建我的 .war 文件。到现在为止还挺好。

现在我将 .war 文件移动到我的 Tomcat webapps。一切正常,除了一个错误:

我通过进入我的 webapps/myapp/WEB-INF 并运行一次且仅一次解决了这个问题jruby -S bundle install

它不再起作用,我不知道发生了什么。

0 投票
1 回答
361 浏览

ruby-on-rails - 基于 JBoss 的 Rails 应用程序找不到 activerecord-jdbcmysql-adapter

我有一个rails应用程序部署到jboss作为使用warbler打包的war。该应用程序已经运行了一段时间。

我希望更改 rails 应用程序,以便 rails、所有 gem 及其依赖项都是供应商的。在这种情况下,我让它工作得很好,可以使用 mongrel 在本地启动应用程序而没有问题,也可以毫无问题地构建战争

但是,当我将战争部署到 jboss 时,它无法成功加载应用程序,说它找不到 activerecord-jdbcmysql-adapter。

这是我到目前为止所做的:

  1. 确保 config/warble.rb 有一个 activerecord-jdbcmysql-adapter 条目

    config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl"]

  2. 手动解包战争并确认宝石存在

WEB-INF/宝石/宝石

WEB-INF/供应商/宝石

我不知道是什么原因造成的,但如果有人有任何想法请分享?

JBoss 5 导轨 2.3.10 JRuby 1.5

谢谢

0 投票
3 回答
673 浏览

windows - JRuby on Rails 不适用于在 Windows Server 2008 上作为服务运行的 Tomcat

问题

似乎将 Tomcat 作为服务运行并不适合使用 warble 打包的 Rails 3 应用程序。查看日志文件,看起来要么存在循环依赖,要么存在动态解析但找不到的依赖,因此它循环。最终,org.jruby.exceptions.RaiseException: stack level too deep被抛出。但是,当我使用startup.bat启动 Tomcat 时,不会出现此问题。

任何帮助,将不胜感激!我一直在拼命寻找这个问题的答案。提前致谢!

部署平台

  • Windows Server 2008(64 位)
  • Apache Tomcat 6.29(64 位)
  • JDK 1.6
  • 导轨 3
  • jruby 1.5.6
  • 莺 (1.2.1)
  • jruby-jars (>= 1.4.0)
  • jruby 机架 (>= 1.0.0)

Tomcat 本地主机.log

http://pastie.org/1308566

0 投票
2 回答
1378 浏览

ruby-on-rails - Tomcat 无法找到带有 JRuby 战争的 jdbcmysql 适配器

我正在尝试将 JRuby on Rails 战争部署到 Tomcat6 中。由于某种原因,它无法找到 activerecord-jdbcmysql-adapter。我正在运行 Rails 2.3.8、JRuby 1.5.5、JRuby-Rack 1.0.3。gem 是用 Bundler 打包的,我在 WEB-INF/gems/gems 目录中看到它:

我是否缺少某些环境变量或导致 Tomcat 找不到 gem 的东西?它显示在 gem 列表中,它也在适当的目录中。

我的 database.yml 如下所示:

追溯: