-
-
Notifications
You must be signed in to change notification settings - Fork 942
Closed
Milestone
Description
- new Eclipse Java project, and add a class named 'SecondUtil.java' in package 'com.util'
package com.util;
public class SecondUtil {
public SecondUtil(){
System.out.println("SecondUtil");
}
}- add a class named 'TestMain.java' in package 'com'
package com;
import org.jruby.embed.ScriptingContainer;
public class TestMain {
public static void main(final String[] args) {
final ScriptingContainer sc = new ScriptingContainer();
sc.runScriptlet("Java::com.util.SecondUtil::new()");
}
}- import lib jruby-complete-9.1.14.0.jar
- run TestMain, console prints 'SecondUtil', all is OK.
- add a class 'Util.java' in package 'com' to current project
package com;
public class Util {
public Util(){
System.out.println("this is Util.");
}
}- run TestMain, console prints following error:
NameError: cannot link Java class com.util (java.lang.NoClassDefFoundError: com/util (wrong name: com/Util))
method_missing at org/jruby/javasupport/JavaPackage.java:259
<main> at <script>:1
Exception in thread "main" org.jruby.embed.EvalFailedException: (NameError) cannot link Java class com.util (java.lang.NoClassDefFoundError: com/util (wrong name: com/Util))
at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:131)
at org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1307)
at org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1300)
at com.TestMain.main(TestMain.java:8)
Caused by: org.jruby.exceptions.RaiseException: (NameError) cannot link Java class com.util (java.lang.NoClassDefFoundError: com/util (wrong name: com/Util))
at org.jruby.javasupport.JavaPackage.method_missing(org/jruby/javasupport/JavaPackage.java:259)
at RUBY.<main>(<script>:1)
- change jruby-complete-9.1.14.0.jar to jruby-complete-1.7.3.jar
- run TestMain, it works well.
Reactions are currently unavailable