2016-06-23 3 views
0

Jrubyでスカラーコードを使用しようとしています。これは私のスカラコードです。JrubyでScalaリストを使用するにはどうすればよいですか?

package test 

object JRuby { 

    def mystring: String = "This is String" 

    def countChange(money: Int, coins: List[Int]): Int = { 
    def count(m: Int, c: List[Int]): Int = { 
     if (c.isEmpty) 0 
     else if (m - c.head == 0) 1 
     else if (m - c.head < 0) 0 
     else countChange(m - c.head, c) + countChange(m, c.tail) 
    } 
    count(money, coins) 
    } 

} 

これは私のルビーコードです。

require "java" 
require "/usr/share/scala/lib/scala-library.jar" 

puts Java::test.JRuby.mystring 

私は "JRubyのtest.rb" と私のRubyのコードを実行しようとすると、エラー "未処理のJavaの例外を:java.lang.NoClassDefFoundErrorが:Scalaの/コレクション/不変/リスト" を返し

それは、クラスパス(jruby -J-cp /usr/share/scala/lib/scala-library.jar test.rb)とうまく動作しますが、このコードをクラスパスなしで使用できるかどうかは不思議です。

どうすればよいですか?

私はScalaの2.10.4、JRubyの9.1.2.0でのFedora 23の上だと、SBTのアセンブリで------- 作業を正しく解決1.8.0_92

------- OpenJDKのプラグイン

答えて

0

もしそうでない場合は、そうでない可能性があります。 ScalaはJRubyのクラスパス上に置かれたくないようです。

require .jarは唯一私がSBTアセンブリとjarファイルを作ったJRubyの

+1

て可視CPに追加し、現在うまく機能しません。 –

関連する問題