我目前正在开发一个包含在.jar文件中的Jruby应用程序。
在jar中,我的文件结构如下所示:
lib/launch.rb
lib/src/class1.rb
/class2.rb
lib/com/class1.class
/class2.class
where' class1.class'和' class2.class'使用jrubyc class1.rb
和jrubyc class2.rb
我想在' class1.class'中访问这些方法。和' class2.class'内部' launch.rb'。
#launch.rb
require 'java'
$CLASSPATH << "com"
java_import 'class1'
java_import 'class2'
但是,我目前遇到了这个问题:
NameError: cannot load Java class 'class1'
是否有另一种方法可以在class1和class中导入和访问这些方法?
答案 0 :(得分: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
听起来像包名,你想要的是将 lib 添加到CP:
$LOAD_PATH << 'lib'
require 'class1'
但假设它是一个(已编译的).rb脚本,也许您只想加载它:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="bottom|center_horizontal"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"/>
</LinearLayout>