Создайте исполняемый файл jar, используя sinatra, warbler и jruby-openssl - PullRequest
4 голосов
/ 02 декабря 2011

Я пытаюсь создать простой исполняемый файл войны, используя 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'

Есть ли более простой способ создать исполняемый файл с помощью sinatra?

1 Ответ

0 голосов
/ 17 августа 2012

Посмотрите на Rawr , что позволяет использовать jruby-complete для встраивания интерпретатора Ruby в банку.

Я потратил последние 3 дня на получениерабочая демонстрация под названием FontX , которая преобразует .ttf в различные другие форматы шрифтов.Запустите 'rake rawr: jar' для компиляции, затем rake start для просмотра.

FontX на Github

...