4
我想用sinatra和warble創建一個簡單的可執行的war文件。我有一個簡單的lib/app.rb文件:使用sinatra,warbler和jruby-openssl創建一個可執行的jar
require 'rubygems'
require 'sinatra'
class Hiwar < Sinatra::Application
get '/' do
body "Hi!"
end
end
與config.ru文件:
require 'rubygems'
require 'lib/app'
run Hiwar.new
,並用一個配置/ 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'
是否有一種簡單的方法來生成一個可執行的jar與sinatra?
如果我執行「rackup -p 4567」,它工作正常...所以我的問題是如何開發從西納特拉戰爭文件... – Labra
西納特拉什麼版本的?我得到了同樣的錯誤(顯然來自非常不同的代碼),我認爲它可能與版本有關。 –
這個問題有沒有進展?我對這個問題很感興趣。 – Pred