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

java - 如何获取jruby/warbler jar文件的路径

我正在使用 JRuby 和 Warbler 构建一个应用程序来打包它。我的问题是我想获取当前运行的jar文件的路径,不写java...

0 投票
1 回答
615 浏览

ruby-on-rails - 如何获取部署为 war 文件的 JRuby/Rails 应用程序的 context-root 的值

我们有一个使用 JRuby 构建的 Rails 应用程序,并作为由 warbler 生成的 war 文件部署到 JBoss。

在我们看来,我们有这样的 link_to 调用:

但是,我们已经设置context-rootjboss-web.xml

最终结果是,在将我们的 war 文件部署到 JBoss 之后,上面的链接被破坏了,因为它们不包含context-root值指定的前缀。

有什么方法可以让我从 JRuby/Rails 获得这个值,context-root以便我可以修复我的链接?

0 投票
1 回答
374 浏览

ruby-on-rails - 路径名中的双磅 (##) 不适用于 JRuby 'require'?

因此,我正在尝试将我的 JRuby on Rails 应用程序部署到 Tomcat 7。一切正常。

直到我尝试使用 Tomcat 的并行部署功能,它要求上下文/战争名称的形式为name##VERSION.war.

当我第一次尝试##在路径中需要一个带有 a 的文件时,JRuby 对此感到窒息,并带有以下堆栈跟踪:

正如堆栈跟踪所表明的那样,它似乎在要求上爆炸了。JRuby 不能处理这种形式的路径吗?有什么办法可以解决这个问题,还是 JRuby 和 Tomcat 的命名约定之间存在根本冲突?

更新

我将调试器附加到 Tomcat,问题一直到 java.net.URL 解析 URL 字符串的方式:

这会引发 MalformedURLException。但:

除了应用程序名称中的外,这是相同的##001,并且可以正常工作。

顺便说一下,这些是在 JRuby 中的 org.jruby.runtime.load.LoadService 的第 1145 行调用的。

那么这有什么后果呢?好吧,一方面,如果 Tomcat 给 URL 解析带来麻烦,它看起来可能在它用来表示名称的字符上做出了一个考虑不周的选择。我不确定 JRuby 是否可以轻松解决这个问题。

想法,有人吗?

进一步更新

如果您的 URL 转义了哈希值,您可以使其工作。## 变为 %23%23。然而,我认为这需要在 JRuby 本身中进行修补。

0 投票
1 回答
708 浏览

sinatra - 使用 Warbler 创建 jRuby 1.9 Sinatra 应用程序无法启动

我有一个简单的 Sinatra 应用程序,我将在 tomcat 中托管它作为战争。当我在tomcat中运行它并运行它时,一切正常。如果我在我的 warble 配置中设置 Ruby 1.9 标志

config.webxml.jruby.compat.version = "1.9"

然后战争没有运行,我在 tomcat 日志中收到此错误

mysinatraapp.rb 文件在战争中,所以我不明白为什么找不到它。该应用程序在 jruby 中从命令行运行时运行良好,所以我认为这不是我的代码和 1.9 的兼容性问题。即使只是从 web.xml 中删除这些行

会让应用程序启动正常。

我的罐子的版本是 jruby-core-1.6.5.1.jar jruby-rack-1.1.3.jar jruby-stdlib-1.6.5.1.jar

0 投票
1 回答
276 浏览

tomcat - 如何将 JRuby Resque 进程部署为 war 文件?

我有一个 JRuby/Rails 应用程序,它部署为 WAR 文件并在 Tomcat 应用程序服务器中运行。我想使用delayed_job 或Resque 作为一种工具来执行长时间运行的作业,这些作业通过我的Rails 应用程序使用的相同ActiveRecord 子类来遍历数据库。而且我希望它在不同的进程或线程中运行,以免使我面向 Web 的应用程序看起来很慢。

包含和使用delayed_job 或Resque 的说明非常清楚。例如,一旦我完成了所有使用 Resque 的游戏,我只需要做:

但这仅适用于命令行。如何通过将 WAR 文件部署到 Tomcat 来运行我的 Resque 进程?如果是这样,它是具有不同配置的同一个 WAR 文件还是不同的 WAR 文件?如果它是一个不同的 WAR 文件,我如何生成它?Resque/DJ 过程是否需要第二个 Tomcat?有没有办法将 Resque/DJ 进程放入它自己的 JRuby/JVM 线程中?有没有我必须做的任何配置 jiggery-pokery 才能做到这一点?

0 投票
2 回答
1082 浏览

tomcat - 如何在未安装 JRuby 且仅使用 Java 的 JRuby/Tomcat deploymet 中使用 Resque 应用程序运行 Ruby/Rails?

我有一个 JRuby/Rails Web 应用程序。我使用 rbenv 和 JRuby 在本地进行测试(使用“rails 服务器”),它可以工作。我还将生产版本作为 WAR 文件分发并在 Tomcat 中运行,并且该机器没有安装 JRuby。有用。我现在需要能够使用 Resque 和 Redis 来处理长时间运行的作业。我在本地安装了 Resque/redis 并从命令行运行 Resque

有用。我创建了一个小工人类(FooClass),它只打印出参数,由 Resque 调用,我可以通过运行将请求排入队列

在 Rails 控制台中,Resque 最终处理请求并打印 [1,"4"]

我希望能够在 Tomcat/Java 环境(没有安装 JRuby)中运行这个 Resque Rake 任务,并且我有 3 个选项来运行 Resque Rake 任务。

  1. 在 Tomcat 中运行它,但在一个单独的 Java 线程中。我不想这样做,因为我希望能够杀死工作进程并重新启动它。
  2. 从命令行运行它,并让 etc/init.d 在启动时调用该命令。
  3. 在与 Web 应用程序不同的 Tomcat 中运行它。

我的 warbler 配置为应用程序 WAR 文件中存在以下文件,并在 Tomcat 启动应用程序时分解为 webapps/WEB-INF 到 webapps/abc/WEB-INF。

文件 config/warble.rb 如下所示:

文件 lib/tasks/resque.rake 有

我的 gemfile 包括以下几行:

在 Web 上搜索产生了以下在不使用 JRuby 的情况下运行 Rake 任务的方法(从 WEB-INF/ 中):

结果是

只是为了好玩,我试过了

结果是

然后我尝试将 jruby-complete-1.6.4 下载到该目录并运行

在这一点上,我完全不知所措。如何在 Java/Tomcat 或仅 Java 环境中运行我想要的 Resque Rake 任务而不在该服务器上安装 JRuby?

0 投票
1 回答
398 浏览

ruby-on-rails - 带有莺的供应/子模块宝石

如何才能做到这一点?这是我的最大努力:

使用路径指定宝石。这会导致警告:

该应用程序几乎启动,出现此错误:

其他想法,有不同程度的废话: - 在 warbling 之前删除/重命名 .git - 部署到 github,使用 git: 选项。试过这个,但有问题,因为它看起来像分支:未读取选项。没有深究。- 尝试config.gem_path = "WEB-INF/vendor/bundler_gems"提前潜入宝石。

0 投票
1 回答
322 浏览

tomcat - jruby tomcat bundler aws——“解决需求”堆栈太深

我一直在尝试将我的 rails 3.1.3 应用程序的捆绑战争文件部署到亚马逊 beanstalk 实例(它只是带有额外管理软件的亚马逊 ec2。)

当应用程序启动时,它会吐出:

想法?谢谢

0 投票
1 回答
308 浏览

ruby-on-rails - 如何将图像路径 scss 助手指向相对 URL

我的应用程序的生产实例在相对 URL 上运行:http://server/app_domain/

image-pathscss 助手指向/assets/image1234.png哪个解析为

http://server/assets/image1234.png

代替

http://server/app_domain/assets/image1234.png

是否有任何配置来设置应用程序的根 url?我希望图像路径生成../assets/image1234.png/app_domain/assets/image1234.png

我正在使用 JRuby/warbler/JBoss 进行 prod/uat 部署。

谢谢

0 投票
0 回答
131 浏览

ruby-on-rails-3 - 莺抱怨fastcsv

我正在尝试使用 warbler 将我的应用程序转换为 jar。

我有 jruby 1.6.6 和 rails 3.2 应用程序。

当我运行 warble 时,我得到以下信息: