我正在尝试使用sinatra和warble创建一个简单的可执行war文件。我有一个简单的lib / app.rb文件:
require 'rubygems'
require 'sinatra'
class Hiwar < Sinatra::Application
get '/' do
body "Hi!"
end
end
config.ru文件:
require 'rubygems'
require 'lib/app'
run Hiwar.new
和config / warble.rb文件:
Warbler::Config.new do |config|
config.dirs = %w(config lib)
config.gems += ["sinatra","rack","rack-protection","tilt","jruby-openssl"]
end
执行时:
$ warble executable war
我获得:
warble aborted!
Zip end of central directory signature not found
Tasks: TOP => war:files
(See full trace by running task with --trace)
我已经看到如果从列表中删除gem“jruby-openssl”,它不会抱怨并创建war文件,但是当我执行它时,它会引发500错误:
undefined method `ssl?' for class `Sinatra::Request'
有没有更简单的方法来生成sinatra的可执行jar?
答案 0 :(得分:0)
查看 Rawr ,它允许您使用jruby-complete
将Ruby解释器嵌入jar中。
我花了最近3天的时间来获得一个名为FontX的工作演示,它将.ttf
转换为各种其他字体格式。运行'rake rawr:jar'进行编译,然后运行rake start
进行查看。
<强> FontX on Github 强>