Я делаю свой собственный сценарий мониторинга журнала с помощью ruby и компилирую его с JRuby в JAR с помощью Warbler. Я запускаю JRuby 1.7.17 64bit. Я пытаюсь использовать камень optparse
, который работает с МРТ и JRuby, когда я бегу сценарий как:JRuby gem недоступен, но JRuby все еще может запускать скрипт
monitor_log>] jruby lib\monitor_log\log_watch.rb --help
Usage: log_watch [options]
-f, --file FILE Input file to monitor
-p, --pattern PATTERN Pattern to match in the file
-h, --help Show this screen
Так что я попытался запустить его с помощью JBundler, чтобы увидеть, если JRuby будет работать мой драгоценный камень,
monitor_log>] jbundle exec jruby bin/log_watch.rb --help
Usage: log_watch [options]
-f, --file FILE Input file to monitor
-p, --pattern PATTERN Pattern to match in the file
-h, --help Show this screen
Итак, я попытался запустить это с помощью Warbler, чтобы скомпилировать его в JAR. и я получаю:
monitor_log>] warble executable jar
warble aborted!
Bundler::GemNotFound: Could not find gem 'optparse (>= 0) java' in the gems available on this machine.
c:\Ruby\jruby-1.7.17\bin\warble:23:in `(root)'
(See full trace by running task with --trace)
Я подумал, что, может быть, JRuby не было это по умолчанию, так что я попытался так искать камень,
monitor_log>] jruby -S gem search optparse
*** REMOTE GEMS ***
micro-optparse (1.2.0)
optparse-command (0.1.8)
optparse-defaults (0.1.0)
optparse-lite (0.0.0)
optparse-off (0.0.1)
optparse-pathname (0.0.1)
optparse-range (0.0.3)
optparse-simple (0.4.2)
optparse_ex (0.0.4)
pickled_optparse (0.1.1)
remi-optparse-simple (0.1.0)
rubysl-optparse (2.0.1)
subcommand-optparse (0.0.3)
но ничего реального очевидно не выделялся мне. Что-то я не делаю правильно? Я добавил gem, optparse
в .gemspec как зависимость от разработки и зависимость времени выполнения. Должен ли я не делать этого или есть что-то еще, что мне не хватает?