"Cannot load Java class" 在 JRuby 中
"Cannot load Java class" in JRuby
我想将一个非常简单的 Java 文件集成到我的 JRuby 应用程序中。不幸的是,它不起作用。
Simple.java:
package com.mypackage;
public class Simple {
public void foo() {
System.out.println("foo called");
}
}
我用"javac Simple.java"编译
然后我用 "jar cf mylib.jar Simple.class"
创建一个 jar 文件
test.rb:
require 'java'
require "mylib.jar"
java_import 'com.mypackage.Simple'
当我 运行 它与 "ruby test.rb" 我得到以下错误:
NameError: cannot load Java class com.mypackage.Simple
for_name at org/jruby/javasupport/JavaClass.java:1286
get_proxy_class at org/jruby/javasupport/JavaUtilities.java:34
我不知道我做错了什么。
我的 JRuby 版本是:jruby 1.7.16.1 (1.9.3p392)
答案很简单。我忘了把 Simple class 放到文件夹结构 com/mypackage/Simple 中。 Java 因此无法找到 class。
我想将一个非常简单的 Java 文件集成到我的 JRuby 应用程序中。不幸的是,它不起作用。
Simple.java:
package com.mypackage;
public class Simple {
public void foo() {
System.out.println("foo called");
}
}
我用"javac Simple.java"编译 然后我用 "jar cf mylib.jar Simple.class"
创建一个 jar 文件test.rb:
require 'java'
require "mylib.jar"
java_import 'com.mypackage.Simple'
当我 运行 它与 "ruby test.rb" 我得到以下错误:
NameError: cannot load Java class com.mypackage.Simple
for_name at org/jruby/javasupport/JavaClass.java:1286
get_proxy_class at org/jruby/javasupport/JavaUtilities.java:34
我不知道我做错了什么。 我的 JRuby 版本是:jruby 1.7.16.1 (1.9.3p392)
答案很简单。我忘了把 Simple class 放到文件夹结构 com/mypackage/Simple 中。 Java 因此无法找到 class。