problems using javaclass.classhook, HELP!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Marcin Paczek
    New Member
    • Jan 2011
    • 1

    problems using javaclass.classhook, HELP!

    I would like to import Java class in Python.

    For this class:

    SampleJavaClass .java
    Code:
    public class SampleJavaClass {
        public static void main(String args[]) {
             System.out.println("Hello world");
        }
    }
    everything is OK. What I do is:
    javac SampleJavaClass .java
    java SampleJavaClass (works OK)

    then I can access this class in Python, like this:

    Code:
    #!/usr/bin/env python
    
    import javaclass.classhook
    import SampleJavaClass
    
    class JavaWrapper(object):
        def __init__(self):
            pass
    
        def main(self):
            hook = SampleJavaClass.SampleJavaClass()
            hook.main([])
    
    
    if __name__ == '__main__':
        wrapper = JavaWrapper()
        wrapper.main()
    but:

    when my Java class (.java) uses some imports, lets say:

    SampleJavaClass .java
    Code:
    import java.sql.*;
    
    public class SampleJavaClass {
        public static void main(String args[]) {
            try {
                // just for tests
                throw new SQLException();
            }
            catch(SQLException e) {
                System.err.println("Got exception: " + e.getMessage());
            }
            System.out.println("Hello world");
        }
    }
    then after doing exactly the same thing as in the first case (the same python code) I get the following error:

    -----
    Traceback (most recent call last):
    File "testjava.p y", line 8, in <module>
    import SampleJavaClass
    File "/usr/lib64/python2.5/ihooks.py", line 407, in import_module
    q, tail = self.find_head_ package(parent, str(name))
    File "/usr/lib64/python2.5/ihooks.py", line 444, in find_head_packa ge
    q = self.import_it( head, qname, parent)
    File "/usr/lib64/python2.5/ihooks.py", line 500, in import_it
    m = self.loader.loa d_module(fqname , stuff)
    File "/usr/local/lib64/python2.5/site-packages/javaclass-0.1-py2.5.egg/javaclass/classhook.py", line 351, in load_module
    obj = __import__(exte rnal_module_nam e, global_names, {}, [])
    File "/usr/lib64/python2.5/ihooks.py", line 408, in import_module
    m = self.load_tail( q, tail)
    File "/usr/lib64/python2.5/ihooks.py", line 462, in load_tail
    raise ImportError, "No module named " + mname
    ImportError: No module named java.sql
    -----

    Can anyone help me? My CLASSPATH is set and points to the rt.jar, I also tried in python code to sys.path.append (<rt.jar>) but it did not help.

    Thank You for any hints.
    Marcin
Working...