我正在尝试将 compass/sass 打包到一个独立的 jar 中,这样我就可以在不安装 jruby 的情况下使用 compass。
我在运行 Java 1.6.0_37 的 Windows7 机器上安装了 jruby 和 warbler
我创建了一个文件夹,将其命名为 jrcompass,然后将 compass 安装到其中,即
jruby -S gem install compass -i .
然后我跑进去:
jruby -S warble
它创建了一个名为 jrcompass.jar 的文件,大小约为 20MB。到目前为止,一切都很好。
问题是当我尝试执行 jar 时,我收到一条错误消息(如下)。从错误看来,jruby.home 没有设置,所以我将它作为命令行中的属性传递并且有效,但这违背了拥有独立 jar 的目的。
如果我尝试通过。作为 jruby.home 然后我得到一个错误,它找不到 rubygems
任何帮助,将不胜感激。TIA。
C:\Apps\test\jrcompass>java -jar jrcompass.jar
Gem::LoadError: 在 jar:file:/C:/Users/Admin/AppData/Local/Temp/jruby9093955264697226808extract/jruby-stdlib-1.7 的 [rake-0.9.2.2] to_specs 中找不到指南针 (>= 0)。 1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/dependency.rb:247 to_spec at jar:file:/C:/Users/Admin/AppData/Local/Temp/jruby9093955264697226808extract/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/ jruby9093955264697226808extract/jruby-stdlib-1.7.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems.rb:1231(根)在文件:/C:/Apps/test/jrcompass/jrcompass。 jar!/jrcompass/bin/compass:22 在 org/jruby/RubyKernel.java:1046 (root) 处加载:/C:/Apps/test/jrcompass/jrcompass.jar!/META-INF/main.rb: 1 要求 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/jruby9093955264697226808extract/jruby-stdlib-1.7.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/custom_require.rb:1