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)
リストから宝石「jruby-openssl」を削除すると、エラーは発生せず、war ファイルが作成されますが、実行すると 500 エラーが発生することがわかりました。
undefined method `ssl?' for class `Sinatra::Request'
sinatra で実行可能な jar を生成する簡単な方法はありますか?