问题标签 [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 回答
1427 浏览

jruby - 使用 JRuby Warbler,是否可以生成可以从环境变量中学习其 RAILS_ENV 的 WAR?

Warbler 希望您在创建 WAR 时指定 RAILS_ENV。然后将其放入生成的 WAR 的 web.xml 中。

但是,如果您可以创建一个从环境中学习其 RAILS_ENV 的 wAR,那么您可以创建一个可用于登台或生产的 WAR - 换句话说,一种高级管理制度,可以在其中测试和部署 WAR 而无需更改.

0 投票
2 回答
770 浏览

ruby-on-rails - 无法安装莺红宝石宝石

我正在运行 Ubuntu 11.10、jruby 1.4.0、ruby 1.8.7.174、rubygems 1.3.5、rails 2.3.4

我正在开发一个需要特定版本的 jruby 和 Rails 以及 glassfish 服务器的项目。我遇到的问题是,当我启动 glasfish 时,在终端中显示:

所以我跑jruby -S rake gems:install

我得到输出:

我也试过了jruby -S gem install warbler -v 1.2.1,而且jgem install warbler -v 1.2.1

结果相同

0 投票
1 回答
1155 浏览

jruby - 使用 Warbler 和降级的 JRuby-Rack 时加载第三方 JAR 问题?

我们正在使用 Warbler 将我们的应用程序部署到 JBoss。服务器似乎可以正常启动,但是当向应用程序发送请求时,我们收到以下错误:

如您所见,在尝试加载 mylib.jar 时,它似乎崩溃了,这是我们在 user.rb 类中使用的 Java 库。我已经检查了 mylib.jar 文件是否存在于 myapp/lib 目录中,以及它是否被 Warbler 成功打包(它位于 WEB-INF/lib/mylib.jar 中)。

请注意:在遇到此处详述的问题后,我将 JRuby-Rack 降级为 1.0.10 - NoMethodError: relative_url_root when deploying rails app on tomcat。所以也许这个问题与此有关?

我不知道发生了什么。有任何想法吗?

其他可能有用的细节:

宝石文件:

配置/warble.rb:

应用程序/模型/user.rb:

全回溯:

“宝石列表”的输出:

0 投票
2 回答
1680 浏览

tomcat - Tomcat 上的 Redmine(“activerecord-jdbc-adapter”的未定义方法“名称”:字符串或 NPE Ruby。或 nil:NilClass 的未定义方法“raw_post”

首先,感谢任何会帮助我的人。

我正在尝试在 Tomcat 7.0.22(在 Windows 7 x64 上)上运行 redmine 1.2.2 我正在使用 JRuby:jruby 1.5.6(ruby 1.8.7 patchlevel 249)(2010-12-03 9cf97c3)(Java HotSpot (TM) 64 位服务器 VM 1.7.0_01) [amd64-java]

这是我的宝石清单:

当我运行时,我的设置运行良好jruby script/server -e production

关于莺:使用 JRuby 1.5.6,当我启动时gem install warbler,它总是失败并出现 IndexOutOfBoundException。我尝试了不同的版本,但没有运气。所以我设置了 JRuby 1.6.5 并设置了莺 gem。然后,我将它从 1.6.5 设置复制到 1.5.6 设置。

我尝试使用不同的莺版本,但它改变了注意,当我在 tomcat 中部署战争并尝试访问它时,它失败了。

如果我使用 1.6.5 的 jruby-jars,它会失败:

所以我尝试降低版本,如果 jruby-jars >=1.6.0 && <= 1.6.4,它会失败:

对于 1.4.0、1.5.0-1.5.6 版本,它失败并显示:

现在......我不知道如何在tomcat上运行它......请帮忙。谢谢

0 投票
1 回答
1029 浏览

openssl - 使用 sinatra、warbler 和 jruby-openssl 创建可执行 jar

我正在尝试使用 sinatra 和 warble 创建一个简单的可执行 war 文件。我有一个简单的 lib/app.rb 文件,其中包含:

一个 config.ru 文件,其中包含:

和一个 config/warble.rb 文件,其中包含:

当我执行时:

我得到:

我已经看到,如果我从列表中删除 gem“jruby-openssl”,它不会抱怨并创建 war 文件,但是当我执行它时,它会引发 500 错误:

有没有更简单的方法来生成带有 sinatra 的可执行 jar?

0 投票
1 回答
587 浏览

ruby - 在 rails3/jruby 中,什么可能会导致此错误间歇性出现?SAVEPOINT active_record_1 不存在

当一个人测试系统时,不会发生这些错误。但是通过 jmeter 测试,我可以非常可靠地重现一些错误,例如:

我们没有嵌套事务,甚至没有明确地使用它们。我发现围绕此错误消息的一个现有错误,但它不相关;我们不会截断或做任何 DDL 工作。只需创建记录并保存即可。

我们使用 Rails 3.0.10、JRuby 1.6.5、activerecord-jdbcmysql-adapter、Warbler 1.3.2 并通过 Elastic Beanstalk 部署在具有单个 Mysql 实例 v5.1.57 的 64 位 Tomcat 7/Amazon RDS 上。我们为 config.threadsafe 做好了准备!- 这感觉就像是 ActiveRecord 内部的某种竞赛 - 但是 ActiveRecord 应该在线程安全中工作,不是吗?

最后一点:我担心这是一个 JRuby 或 Warbler 问题,因为如果我们从 JRuby 切换到 MRI Ruby 1.9,我们将无法重现这个问题。

0 投票
1 回答
276 浏览

tomcat - 如何在 Tomcat 中的 Rails 初始化期间创建全局命名空间常量?

首先是一些背景知识:我有一个 Rails 2.2.2 应用程序,其中包含各种 janky 依赖项和自定义项,这使我暂时无法升级到 2.2.2 以上。当前计划是将此应用程序迁移到 JRuby (1.6.5),将其部署为 Tomcat (6.0.23 — 尚未绑定到此特定版本 FWIW) 中的战争,使用 warbler (1.3.2) 将其打包。

我想让应用程序的 JRuby 分支与原版应用程序有很大的不同,因为我不知道需要多长时间才能梳理和修复由运行时环境中的差异引起的所有问题。所以我希望能够继续干净、轻松地合并到来自香草应用程序的正在进行的工作中。

environments/*.rb可以使用文件中设置的全局命名空间常量来配置应用程序中的许多自定义行为。但是可以通过使用 yaml 配置文件或设置 shell 环境变量来覆盖这些值;这主要是为了开发过程中的灵活性,不同的开发人员有时需要自定义各种设置。到目前为止,该系统运行良好,使我们的environments/development.rb文件相对稳定且整洁,同时在我们进行黑客攻击时仍使我们能够对自定义进行大量控制。

我想在迁移到 JRuby 时保留这个定制系统。到目前为止,我正在使用自定义config/web.xml.erb的方法将 yaml 文件中的相关环境变量和设置转换为<env-entry>片段,从而使它们在初始化期间通过java:comp/envJNDI 上下文可用。在更受限制的环境(如登台或生产)中,可以通过<Environment>在容器context.xml文件中包含override属性设置为false.

到现在为止还挺好。但是现在我正在努力将在初始化期间从 JNDI 上下文中检索到的值转换为全局命名空间常量。以下是相关位的摘录:

配置/环境/developer.rb:

lib/config_helper.rb:

网页.xml:

catalina.out:

当然,我希望最后一行是“FOO 现在是'bar'”。第 14 行lib/config_helper.rb似乎是出了问题的地方。类似的代码在 vanilla ruby​​ 中运行良好,但在 Tomcat 初始化期间它在这里不起作用。

那么,如何在 Tomcat 中的 Rails 初始化期间从 JNDI 环境条目中创建全局命名空间常量?

0 投票
1 回答
1029 浏览

ruby - Jruby Warbler 在 Tomcat 上为 Sinatra 生成战争 -- 找不到查看文件

我在使用 Warbler 生成的 WAR 部署到 Tomcat 时遇到了以下问题。当我运行“rake war”时,它会正确生成要部署的war文件;但是,在部署到 Tomcat 并导航到应用程序库时,我收到以下消息:

Errno::ENOENT at /micro_reg_90day/login 没有这样的文件或目录 - jndi:/localhost/micro_reg_90day/WEB-INF/views/login.erb 文件:RubyFile.java 位置:初始化行:464

在浏览器内。奇怪的是,当我转到文件系统中的扩展 webapp 时——我在 webapp/WEB-INF/views 目录中看到了这个:

可以看到,login.erb 文件正在被打包进war;但是,在尝试调用时没有被 JRuby 发现

在 Sinatra 应用程序中。以下是我的配置/warbler.rb:

我唯一注意到的是,Tomcat 告诉我的路径未找到以 jndi 为前缀: - 这是否表明 warbler 应该将 .erb 文件打包为战争中的某种命名资源?

谢谢您的帮助!

0 投票
1 回答
830 浏览

tomcat - rbenv、JRuby、Warble、Rake

我有 JRuby Web 应用程序,它在部署框上的 Tomcat 服务器中运行。我使用 Warble 将它打包成一个 WAR 文件,然后部署在我也安装了 JRuby 的服务器上。我在开发箱和部署箱上运行 rbenv 和 JRuby 1.6.4。

我的 Gemfile 看起来像这样:

我想运行一些我的自定义 Rake 任务。当我在我使用的开发环境(“rails server”)中运行我的 rake 任务时,它工作正常(我使用的是 rbenv,并且“rails server”确实调用了 JRuby 1.6.4,并且我运行了“bundle exec rake abc:帮助”)。

我的本地宝石列表如下所示:

当应用程序位于单独的盒子上的 Tomcat Tomcat/webapps/abc/* 中时(由 Tomcat 分解),然后我转到根目录,我得到以下信息:

我的本地 gem 列表在部署框上看起来像这样(Rails 应用程序部署在 WAR 文件中)。

为了让我的 rake 任务用完我爆炸的 WAR 文件目录,我缺少什么?

另外,我正在使用 Rake 0.8.7,因为 0.9.2 让我很伤心。

0 投票
2 回答
1365 浏览

ruby-on-rails - 使用 jruby 和 warble 在控制器内执行 db:migrate 和 db:setup rake 任务

我正在创建一个必须允许非程序员最终用户自己安装应用程序的应用程序。

我已经处理了 ruby​​ env + web server + 数据库安装部分。现在我必须能够为应用程序设置数据库。我正在考虑在 InstallationController 中运行rake db:setup(只能在安装过​​程中访问)。

是否可以?我怎样才能做到这一点?

我打算使用 Warble 和 JRuby,所以我无法通过在我的应用程序中使用命令行来实现。