3

jruby をロードする実行可能な jar があります。インストーラーは、jar といくつかの事前にパッケージ化された jar ライブラリ (完全な jruby といくつかの gem を含む) をインストール場所にドロップします。

名前にスペースが含まれるフォルダーに jar がインストールされている Windows を除いて、すべて正常に動作します。Jruby は、jar パッケージされた gem の 1 つから単純な「require」に遭遇すると失敗します (それが重要な場合は、statemachine gem の「require singleton」)。

これはそれほど問題ではありませんでしたが、プログラム ファイルの下から実行するには jar が必要です。誰かがこれを解決したことを願っています:)

スタックトレース:

> Java::OrgJrubyExceptions::RaiseException - no such file to load --
> singleton file:/C:/<install
> location>/lib/java/state_machine-0.9.4.jar!/state_machine/matcher.rb:1:
> in `require': no such file to load -- singleton (LoadError)
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/
> matcher.rb:1
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/
> matcher.rb:1:in `require'
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/ guard.rb:1
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/
> guard.rb:2:in `require'
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/ event.rb:2
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/
> event.rb:6:in `require'
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/
> machine.rb:6
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine/
> machine.rb:1:in `require'
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine. rb:1
>         from file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!/state_machine. rb:1:in
> `require'
>         from src/application.rb:1:in `require'
>         from src/main.rb:54:in `require'
>         from <script>:1
>         ...internal jruby stack elided...
>         from Kernel.require(file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!
> /state_machine/matcher.rb:1)
>         from (unknown).(unknown)(file:/C:/<install location>/lib/java/state_machine-0.9.4
> .jar!/state_machine/matcher.rb:1)
>         from Kernel.require(file:/C:/<install location>/lib/java/state_machine-0.9.4.jar! /state_machine/guard.rb:1)
>         from (unknown).(unknown)(file:/C:/<install location>/lib/java/state_machine-0.9.4 .jar!/state_machine/guard.rb:2)
>         from Kernel.require(file:/C:/<install location>/lib/java/state_machine-0.9.4.jar! /state_machine/event.rb:2)
>         from (unknown).(unknown)(file:/C:/<install location>/lib/java/state_machine-0.9.4 .jar!/state_machine/event.rb:6)
>         from Kernel.require(file:/C:/<install location>/lib/java/state_machine-0.9.4.jar!
> /state_machine/machine.rb:6)
>         from (unknown).(unknown)(file:/C:/<install location>/lib/java/state_machine-0.9.4
> .jar!/state_machine/machine.rb:1)
>         from Kernel.require(file:/C:/<install location>/lib/java/state_machine-0.9.4.jar! /state_machine.rb:1)
>         from (unknown).(unknown)(file:/C:/<install location>/lib/java/state_machine-0.9.4 .jar!/state_machine.rb:1)
>         from Kernel.require(src/application.rb:1)
>         from Kernel.require(src/main.rb:54)
>         from Kernel.require(<script>:1)
>         from (unknown).(unknown)(:1)
4

1 に答える 1

0

おそらくバグです。実行可能な jar を作成するために使用したソフトウェアは何ですか? JRubyのバージョンは?過去にスペースを含むファイル名のバグに対処してきましたが、他にもバグがある可能性があります。http://bugs.jruby.orgでバグを報告できますか? ありがとう。

于 2011-12-09T22:37:06.213 に答える