我试图将简单的Ruby教程应用程序部署到Tomcat服务器上,只是为了了解工作流程。我的理解是,warbler应该通过运行warble war
将其打包成适当的.war文件。
它运行&部署到tomcat罚款。但是,当我尝试访问该应用程序时,我收到错误here。
具体而言,no such file to load -- thread_safe/jruby_cache_backend
。
在检查打包战争的具体thread_safe目录后,我发现了这一点:
tomcat@su-server:> ls -l
total 72
-rw-r--r-- 1 tomcat tomcat 34843 2014-08-22 16:18 atomic_reference_cache_backend.rb
-rw-r--r-- 1 tomcat tomcat 4617 2014-08-22 16:50 cache.rb
-rw-r--r-- 1 tomcat tomcat 2040 2014-08-22 16:18 mri_cache_backend.rb
-rw-r--r-- 1 tomcat tomcat 2714 2014-08-22 16:18 non_concurrent_cache_backend.rb
-rw-r--r-- 1 tomcat tomcat 1346 2014-08-22 16:18 synchronized_cache_backend.rb
-rw-r--r-- 1 tomcat tomcat 1642 2014-08-22 16:18 synchronized_delegator.rb
drwxr-xr-x 2 tomcat tomcat 4096 2014-08-22 16:19 util
-rw-r--r-- 1 tomcat tomcat 700 2014-08-22 16:18 util.rb
-rw-r--r-- 1 tomcat tomcat 492 2014-08-22 16:18 version.rb
jruby_cache_backend无处可寻,我无法弄清楚我做错了什么。
答案 0 :(得分:0)
为了让warbler在我们的环境中工作,我们目前正在做:
在项目中本地安装gem的副本:
bundle install --path=./bundle
在.vendor / cache中锁定和缓存gems(只需运行一次)
bundle package --all
最后,
bundle update
感觉很臃肿,但它目前对我有用。