在 Jruby 中访问 .jar 中的 java 类
Access java classes inside .jar in Jruby
我目前正在开发我的 Jruby 应用程序,它包含在一个 .jar 文件中。
在 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
编译的
我想在 'launch.rb'.
内访问 'class1.class' 和 'class2.class' 内的这些方法
#launch.rb
require 'java'
$CLASSPATH << "com"
java_import 'class1'
java_import 'class2'
但是,我目前 运行 陷入这个问题 :
NameError: cannot load Java class 'class1'
是否有其他方法可以在 class1 和 class 中导入和访问这些方法?
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'
我目前正在开发我的 Jruby 应用程序,它包含在一个 .jar 文件中。
在 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
我想在 'launch.rb'.
内访问 'class1.class' 和 'class2.class' 内的这些方法#launch.rb
require 'java'
$CLASSPATH << "com"
java_import 'class1'
java_import 'class2'
但是,我目前 运行 陷入这个问题 :
NameError: cannot load Java class 'class1'
是否有其他方法可以在 class1 和 class 中导入和访问这些方法?
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'