将JRuby / Rails部署到Glassfish:Bundler:Module的未定义方法`bundle_path'

时间:2011-09-25 06:25:24

标签: ruby-on-rails glassfish jruby bundler warbler

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

Caused by: org.jruby.exceptions.RaiseException: (NameError) method 'to_yaml' not defined in Object

查看日志,我看到了:

undefined method `bundle_path' for Bundler:Module

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

(使用ruby 1.9,rails 3.1,glassfish 3.0和3.1)

这也出现在glassfish日志中:

Policy Provider:Failed Permission Check: context (" myapp/myapp ") , permission (" (java.lang.reflect.ReflectPermission suppressAccessChecks) ") |#]

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

编辑:我修复了权限问题,前两个错误仍然存​​在。 (也就是说,提交问题要求我编辑一个专门说不要编辑的文件。试图在Glassfish的server.policy中授予此权限不起作用。)

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

2 个答案:

答案 0 :(得分:0)

您可以在Glassfish之外,在nginx +乘客或apache2 +乘客配置上托管它,并让它代理Glassfish。如果您不必与任何其他Java资源/应用程序集成,那么这是一个双赢的解决方案。

答案 1 :(得分:0)

这会影响某些应用程序服务器,但不影响其他服务器。

有关详细信息和快速修复,请参阅此主题。

https://github.com/jruby/warbler/issues/44#issuecomment-2809940