"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。