2017-12-08 13 views
0

私は現在、.jarファイルの中に入っているJrubyアプリケーションを開発中です。Jrubyの.jar内のJavaクラスにアクセス

瓶の中では、私のファイル構造は次のようになります。私は、これらのメソッドにアクセスしたい「class1.class」と「class2.class」はjrubyc class1.rbjrubyc class2.rb

を使用してコンパイルされ

lib/launch.rb 
lib/src/class1.rb 
     /class2.rb 
lib/com/class1.class 
     /class2.class 

'launch.rb'の中の 'class1.class'と 'class2.class'の中にあります。

#launch.rb 

require 'java' 
$CLASSPATH << "com" 
java_import 'class1' 
java_import 'class2' 

しかし、私は現在、この問題に実行しています:

NameError: cannot load Java class 'class1' 

は、インポートし、クラス1とクラス内のこれらのメソッドにアクセスするための別の方法はありますか?

$CLASSPATH << File.expand_path('lib') 
# now import the class with the full name (including package) : 
java_import 'com.class1' 
# ... or simply just : 
Java::com.class1 

が、そのA(コンパイル).RBスクリプトを想定しては、多分あなたはそれをロードする:

答えて

1

com

は何が欲しいのはCPに libにを追加され、パッケージ名のように聞こえます
$LOAD_PATH << 'lib' 
require 'class1' 
+0

これは機能しました。ありがとうございました – danynl

関連する問題