views:

77

answers:

1

Hi, I'm running jEdit with the JythonInterprete and I have a .jar file called JavaTest.jar.

JavaTest has a class called SampleJavaClass which has a method printerCount.

From my .py file, I want to do:

from javatest import SampleJavaClass

class SampleClass(SampleJavaClass):
 def pymain(self):
  SampleJavaClass.printerCount(4)

Java code:

package javatest;


public class SampleJavaClass {


    public static void printerCount(int i){
        for(int j=0; j< i; j++){
            System.out.println("hello world");
        }
    }
(etc...)

In the JythonInterpreter, I have already tried clicking "Edit Jython Path" and adding the .jar file then running the interpreter again, but it still gives me ImportError: cannot import name SampleJavaClass

+1  A: 

You need to add the JavaTest.jar to the Java classpath used by jEdit. The Jython path is used to tell Jython where the Python modules are, the Java classpath is used to tell the JVM where the Java jars are. In order to access javatest.SampleJavaClass in Jython the JVM must first be able to find it. It will then make it available to the Jython interpreter and your code should run.

I'm not that familiar with how to set the JVM classpath in jEdit but I did find this wiki page which may hold the answer.

Patrick