我正在尝试做类似的事情,但在我的情况下,只将 gem 打包在一个独立的可执行 jar 中。文档的描述性不是很好,有些已经过时了。
我尝试了rawr,但设法与莺走得更远
这是我所做的:我创建了一个名为 jrcompass 的文件夹并将 compass 安装到其中:
c:\test\jrcompass>%JRUBY%\jruby -S gem install compass -i .
我安装了 warbler,然后在该文件夹中运行 warble 命令:
C:\test\jrcompass>c:\apps\jruby\bin\jruby -S warble
它创建了一个名为 jrcompass.jar 的 ~20MB jar 文件,它比我使用 rawr 得到的要远。
现在我正在尝试使用以下命令执行 jar:
C:\test\jrcompass>java -jar jrcompass.jar
我在下面收到以下错误。我希望这会帮助你取得进步。如果你弄清楚了,请告诉我。
Gem::LoadError: Could not find compass (>= 0) amongst [rake-0.9.2.2]
to_specs at jar:file:/C:/Users/Admin/AppData/Local/Temp/jruby1564362137331239458extract/jruby-stdlib-1.7.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/dependency.rb:247
to_spec at jar:file:/C:/Users/Admin/AppData/Local/Temp/jruby1564362137331239458extract/jruby-stdlib-1.7.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/dependency.rb:256
gem at jar:file:/C:/Users/Admin/AppData/Local/Temp/jruby1564362137331239458extract/jruby-stdlib-1.7.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems.rb:1231
(root) at file:/C:/Apps/test/jrcompass/jrcompass.jar!/jrcompass/bin/compass:22
load at org/jruby/RubyKernel.java:1046
(root) at file:/C:/Apps/test/jrcompass/jrcompass.jar!/META-INF/main.rb:1
require at org/jruby/RubyKernel.java:1027
(root) at file:/C:/Apps/test/jrcompass/jrcompass.jar!/META-INF/main.rb:1
(root) at jar:file:/C:/Users/Admin/AppData/Local/Temp/jruby1564362137331239458extract/jruby-stdlib-1.7.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/custom_require.rb:1