我正在使用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。我是部署新手,所以如果有人可以帮助我,我将不胜感激。感谢
答案 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,上下文启动就好了。不太理想,可能还有一个“正确”的解决方案。这让我向前迈进了。