问题标签 [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 投票
2 回答
428 浏览

ruby-on-rails - JRuby - Warbler 不保留符号链接

使用 warbler 打包应用程序时,符号链接会丢失,而符号链接指向的实际内容会被打包为 WAR 的一部分。

就我而言,我有一个从 public/images/upload 到 /var/myproject/upload 的符号链接。在我在 tomcat 中部署战争之后,在分解的文件夹 public/images/upload 中将 /var/myproject/upload 的所有内容复制到它而不是链接到该文件夹​​。

更新:我的问题是“当部署为战争时,莺会保留项目内的符号链接吗?”

环境信息:

jruby 1.6.2 (ruby-1.8.7-p330) | 莺1.3.1 | 美分操作系统 5.5 | Java SE“1.6.0_26”

0 投票
2 回答
1897 浏览

rubygems - 使用 Bundler 打包本地红宝石宝石?

我有一个正在处理的项目,它使用了我们在内部创建的 gem。它不托管在 ruby​​gems.org 或 github 上。但是我们确实在我们的存储库和本地机器上的路径中拥有它。

在我们的 Gemfile 中,我们有类似这样的内容:

我们正在尝试打包我们所有的 gem,以便我们可以使用 warbler gem 创建一个 .war 文件,以便使用 jRuby 进行部署。

我们希望能够运行“bundle install”或“bundle install --local”之类的东西,以确保安装了所有的 gem。然后让 bundler 获取我们 Gemfile 中指定的所有依赖项,使用“bundle package”命令将它们放入 vendor/bundle 中。

但基于此链接(http://gembundler.com/man/bundle-package.1.html),看起来捆绑器无法打包使用 :path 或 :git 作为源指定的 gem。

有没有人找到解决这个问题的方法?

您如何“捆绑”本地的、不属于 git 存储库或 ruby​​gems.org 的 gem?

谢谢。

0 投票
1 回答
550 浏览

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

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

ActiveRecord::JDBCError (The driver encountered an unknown error: 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' does not exist):

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

有任何想法吗?

0 投票
1 回答
302 浏览

ruby-on-rails - 尝试在 ChiliProject 上使用 warble 进行 JRuby/Jetty 部署时出错

我正在尝试在 ChiliProject(Redmine fork,Rails 2.3 应用程序)上使用 warbler 将其部署在 Java Jetty Web 服务器中。但是当我在项目根文件夹中运行 warble 时,它​​会失败并显示给定的错误消息:

我正在使用 JRuby 1.6.3、JDK 1.6、warbler 1.3.2 和 ChiliProject 2.2.0。

0 投票
1 回答
218 浏览

ruby - 具有多个可执行文件的莺

我正在使用warbler将我的 ruby​​ 项目打包成一个可执行的 .jar 文件。在我项目的 Rakefile 中,我列出了多个 ruby​​ 可执行文件。但是,当我使用 warbler 构建 jar 时,只有第一个可执行文件(在我的 Rakefile 中列出)在运行时启动java -jar myjar.jar。我目前的解决方法是在我的项目的 bin 文件夹中有一个启动器脚本,该脚本会根据用户的选择委托给其他脚本。有没有更好的方法来用莺做到这一点?

0 投票
1 回答
283 浏览

jruby - 从 .war 执行 rake 任务

是否可以从 warbled rails 项目执行 rake 任务?

我有一个部署到 JBoss 的 warbled rails 项目。我需要在后台运行一个邮件程序。最好的方法是什么?

0 投票
2 回答
1048 浏览

ruby-on-rails - 将 JRuby/Rails 部署到 Glassfish:Bundler:Module 的未定义方法“bundle_path”

尝试访问我的应用程序时,我的 Glassfish 日志中显示以下错误:

浏览日志我看到了这个:

我确认 warble 肯定会将 Bundler gem 放入我的 .war 文件中。

(使用 ruby​​ 1.9、rails 3.1、glassfish 3.0 和 3.1)

这也出现在 glassfish 日志中:

但是,我已经验证了 server.policy 中授予的权限。

编辑:我修复了权限问题,前两个错误仍然存​​在。(也就是说,权限问题要求我编辑一个它明确表示不要编辑的文件。尝试在 Glassfish 中的 server.policy 中授予此权限无效)。

以下是 Glassfish 日志文件中的相关环境信息:https ://gist.github.com/1245825

0 投票
2 回答
460 浏览

ruby - 在 tomcat 上部署战争时 Ruby 版本不匹配

我正在使用 Rvm 并安装了 jruby-1.6.4(使用 ruby​​ 1.9.2)我使用 warbler 创建 war 文件并将其部署到 tomcat-6.0.4

问题是当我运行应用程序时,tomcat 日志显示用作 1.8.7 的 ruby​​ 版本

我通过 rvm 列表检查了 ruby​​ 的版本,它显示了正确的版本(1.8.7)

当我将 jruby 降级为使用 1.8.7 时(通过使用 JRUBY_OPTS=--1.8.7,应用程序就像魅力一样工作

关于如何确保 ruby​​ 版本 1.9.2 被 tomcat 使用的任何想法

维韦克

0 投票
2 回答
967 浏览

tomcat - JRuby:Warbler:Tomcat:Rails 助手没有获得带有 WAR 扩展后缀的基本 URL

我正在部署一个打包到“abc.war”中的 JRuby/Rails 应用程序,并在同一个 Tomcat 实例中部署了一个打包到“def.war”中的 Java 应用程序。

我的 Rails 应用程序中有一个名为“Blogs”的资源,在 routes.rb 中有以下条目

有了 routes.rb 中的这个条目,我有了 blogs_path() 之类的助手,所以我可以使用如下语句:

在我的应用程序视图文件中,点击生成的链接会显示博客列表。

当此应用程序与 Webrick Web 服务器(JRuby 1.6.4,配置了 Ruby 1.9 和 Rails 3.0.10)独立运行时,它工作正常,因为http://localhost:3000/blogs会在我点击了那个链接)。当我将应用程序部署到另一个基本服务器 URL 时,例如“http://funky-freddy-101.heroku.com”,那么我不必使用“blogs_path”更改代码,因为 Rails 会自动计算在构建“blogs_path”生成的实际 URL 时,将基本 URL 和 blogs_path() 代码考虑在内。

在“abc.war”文件中将应用程序部署到 JRuby/Tomcat 时,基本 URL 从http://localhost:3000更改为“http://localhost:8081/abc”。因此键入“http:// localhost:8081/abc/blogs" 会给我一个博客列表,"http://localhost:8081/blogs" 给我一个 404 错误。但是,问题是虽然应用程序的基本 URL包括 WAR 文件名的后缀(即“abc”)Rails 没有注意到这一点,因此在调用 blogs_path() 时仍会生成“http://localhost:8081/blogs”作为 URL。当我点击链接,它给了我标准的Tomcat 404页面。

是否有任何简单的方法可以让 Rails 获取以引用“abc”为后缀的基本 URL、WAR 文件的名称,并在 JRuby/Tomcat 部署中适当地生成 URL?而且因为这个应用程序是和 def.war 一起运行的,所以我不能让它成为根应用程序。

0 投票
1 回答
389 浏览

ruby-on-rails - 未使用 warbler 和 tomcat 正确设置上下文

我正在尝试使用 Warbler 生成的 war 文件将 Rails 应用程序部署到 Tomcat。战争文件部署到 /myproject-rails-gui 没有任何问题,但是,当我尝试访问应用程序上的页面时,我得到:

尝试设置 relative_url_root 时失败。还有其他 Stack Overflow 文章(正确地)指出 relative_url_root 已被弃用,您应该设置 RAILS_RELATIVE_URL_ROOT 环境变量。

来自GitHub 上的 Rails 项目

不过,我没有任何运气弄清楚如何使用 Warbler 和 Tomcat 做到这一点。有什么建议么?值得一提的是,当我在根上下文中运行该应用程序时,它运行良好。

我的环境:

  • 莺1.3.2
  • 雄猫 7.0.22
  • JRuby 1.6.5
  • 导轨 3.0.10