2011-03-31 6 views
0

JRubyをJARファイルに埋め込みました。これは、WebSphereにデプロイするEARファイルで使用されています。私は私のワークスペースからクラスを呼び出すと、それが正常に動作します、しかし私は、WebSphere内で呼び出す際に、ここで私が得るものです:いくつかの研究の後JRubyのロードパスが乱雑になった

[3/31/11 11:21:15:984 BRT] 00000042 SystemErr  R classpath:/lib/xmlcompare.rb:4:in `require': no such file to load -- rubygems (LoadError) 
    from classpath:/lib/xmlcompare.rb:4 
    from classpath:/lib/xmlcompare.rb:1:in `require' 
    from <script>:1 

、私はからJARファイル内のコードを実行したときに気づいJARは、WebSphere(EARにバンドル)に配備された後、ここで、しかし

lib 
lib/gems/builder-3.0.0/lib 
lib/gems/rainbow-1.1.1/lib 
lib/gems/syntax-1.0.0/lib 
lib/gems/xml-simple-1.0.14/lib 
file:/C:/RSA/workspace/sdops-XmlCompare/pkg/XmlCompare.jar!/META-INF/jruby.home/lib/ruby/site_ruby/1.8 
file:/C:/RSA/workspace/sdops-XmlCompare/pkg/XmlCompare.jar!/META-INF/jruby.home/lib/ruby/site_ruby/shared 
file:/C:/RSA/workspace/sdops-XmlCompare/pkg/XmlCompare.jar!/META-INF/jruby.home/lib/ruby/1.8 
. 

ロードパスがどのように見えるかです::コマンドラインは、ロードパスは次のようになります

lib 
lib/gems/builder-3.0.0/lib 
lib/gems/rainbow-1.1.1/lib 
lib/gems/syntax-1.0.0/lib 
lib/gems/xml-simple-1.0.14/lib 
C:/WINDOWS/TEMP//lib/ruby/site_ruby/1.8 
C:/WINDOWS/TEMP//lib/ruby/site_ruby/shared 
C:/WINDOWS/TEMP//lib/ruby/1.8 
. 

私はアドオンを試してみました

それを作る:

lib 
lib/gems/builder-3.0.0/lib 
lib/gems/rainbow-1.1.1/lib 
lib/gems/syntax-1.0.0/lib 
lib/gems/xml-simple-1.0.14/lib 
META-INF/lib/ruby/site_ruby/1.8 
META-INF/lib/ruby/site_ruby/shared 
META-INF/lib/ruby/1.8 
C:/WINDOWS/TEMP//lib/ruby/site_ruby/1.8 
C:/WINDOWS/TEMP//lib/ruby/site_ruby/shared 
C:/WINDOWS/TEMP//lib/ruby/1.8 
. 

しかし、任意の変更をしなかったロードパスにいくつかのより多くのエントリをする。

WebSphere内で実行しているときにloadpathが壊れてしまう理由と解決方法を知りませんか?

答えて

3

$ LOAD_PATHに以下を追加してみてください:

META-INF/jruby.home/lib/ruby/site_ruby/1.8 
META-INF/jruby.home/lib/ruby/site_ruby/shared 
META-INF/jruby.home/lib/ruby/1.8 
関連する問題