在rails应用程序上为ruby生成WAR文件

时间:2014-02-27 11:53:38

标签: ruby-on-rails ruby tomcat war warbler

我正在使用Warbler为我的ruby on rails应用程序生成一个WAR文件。我的应用程序中没有使用任何特殊内容,我只运行 “warble war” 命令。

在WAR一代中,我收到了这两个警告

warning: skipping minitest
warning: skipping json

在eclipse中导入WAR后,无法构建项目并且显示

Archive for required library: '/WebContent/WEB-INF/lib/gems-gems-warbler-1.4.1-spec-sample_war-some.jar'cannot be read or is not a valid ZIP file

我试图从https://github.com/jruby/warbler/issues/199中找到一些解决方法,但没有任何线索。我正在使用Rails版本4.0.2和warbler版本1.4.1。我是部署新手,所以如果有人可以帮助我,我将不胜感激。感谢

2 个答案:

答案 0 :(得分:2)

排除违规文件的更好方法:warble config。

使用

生成配置
warble config

然后取消注释以下行以修复它:

config.gem_excludes = [/^(test|spec)\//]

答案 1 :(得分:1)

让我警告你,这是一个完整的屠夫工作,我只使用了这个,因为我很困惑,为什么我也得到相同的错误,Tomcat在尝试部署我的jruby / rails应用程序时死亡。这是我做的:

$ ls -l /usr/local/opt/tomcat/libexec/webapps/workspace/WEB-INF/lib/*sample*

你会在那里看到一些较吵的样品罐。 gems-gems-warbler-1.4.1-spec-sample_war-some.jar的大小为0.这是问题所在,但我认为我真的不需要任何样品罐,谢谢。所以:

$ bundle show warbler
/PATH/.rvm/gems/jruby-1.7.10@rails4/gems/warbler-1.4.1

$ rm -rf /PATH/.rvm/gems/jruby-1.7.10@rails4/gems/warbler-1.4.1/spec/*sample*
$ bundle exec warble war

部署到Tomcat,上下文启动就好了。不太理想,可能还有一个“正确”的解决方案。这让我向前迈进了。