在Jruby中访问.jar内部的Java课程



我当前正在开发我的jruby应用程序,该应用程序包含在.jar文件中。

在罐子里,我的文件结构看起来像这样:

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

其中'class1.class'和'class2.class'是使用 jrubyc class1.rbjrubyc 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'

最新更新