我当前正在开发我的jruby应用程序,该应用程序包含在.jar文件中。
在罐子里,我的文件结构看起来像这样:
lib/launch.rb
lib/src/class1.rb
/class2.rb
lib/com/class1.class
/class2.class
其中'class1.class'和'class2.class'是使用 jrubyc class1.rb
和 jrubyc class2.rb
我想在'class1.class''和class2.class'insire's lunaine.rb'中访问这些方法。
#launch.rb
require 'java'
$CLASSPATH << "com"
java_import 'class1'
java_import 'class2'
但是,我目前正在遇到这个问题:
NameError: cannot load Java class 'class1'
是否有另一种方法可以在Class1和类中导入和访问这些方法?
com
听起来像个软件包名称,您想要的是添加 lib 到cp:
$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
但是假设它是一个(编译).RB脚本,也许您只想加载它:
$LOAD_PATH << 'lib'
require 'class1'