Я пытаюсь создать простой исполняемый файл войны, используя Sinatra и Warble. У меня есть простой файл 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)
Я видел, что если я удаляю гем «jruby-openssl» из списка, он не жалуется и создает файл войны, но когда я его запускаю, он вызывает ошибку 500:
undefined method `ssl?' for class `Sinatra::Request'
Есть ли более простой способ создать исполняемый файл jar с помощью Sinatra?