From: Anders D. <and...@st...> - 2002-01-02 16:26:15
|
Hello! I keep getting exceptions when I try to load (java) classes dynamically into jython :( My code is as follows: ... // Load jython interpreter with correct classloader try { String className = "org.python.util.PythonInterpreter"; ClassLoader loader = TopManager.getDefault().currentClassLoader(); Class loaded = loader.loadClass(className); pythonInterpreter = (PythonInterpreter) loaded.newInstance(); // Add all packages that is mounted in explorer: if (PySystemState.packageManager instanceof SysPackageManager) { SysPackageManager manager = (SysPackageManager) PySystemState.packageManager; updateJythonClasspath(manager); } ... private void updateJythonClasspath(SysPackageManager manager) { Repository repository = TopManager.getDefault().getRepository(); FileSystem[] fileSystems = repository.toArray(); for (int i = 0; i < fileSystems.length; i++) { FileSystem fileSystem = fileSystems[i]; // FIXME: what about non-local filesystems, cvs? if (JarFileSystem.class.isAssignableFrom(fileSystem.getClass())) { JarFileSystem jarFile = (JarFileSystem) fileSystem; manager.addJar(jarFile.getJarFile().getPath(), true); } else if (LocalFileSystem.class.isAssignableFrom(fileSystem.getClass())) { LocalFileSystem localFile = (LocalFileSystem) fileSystem; manager.addJarDir(localFile.getRootDirectory().getAbsolutePath(), true); } } } What am I doing wrong, not doing? thanks in advance /Anders Example stack trace: "# Jython file - http://www.jython.org/ print "hello world!" from hejsan import * nada = Nada() print nada.hej() " File "<string>", line 5, in ? java.lang.NullPointerException at org.python.core.PyJavaClass.setConstructors(PyJavaClass.java) at org.python.core.PyJavaClass.initConstructors(PyJavaClass.java) at org.python.core.PyJavaClass.__call__(PyJavaClass.java) at org.python.core.PyObject.__call__(PyObject.java) at org.python.pycode._pyx3.f$0(<string>:5) at org.python.pycode._pyx3.call_function(<string>) at org.python.core.PyTableCode.call(PyTableCode.java) at org.python.core.PyCode.call(PyCode.java) at org.python.core.Py.runCode(Py.java) at org.python.core.Py.exec(Py.java) at org.python.util.PythonInterpreter.exec(PythonInterpreter.java) at org.netbeans.modules.scripting.JPythonScriptType.exec(JPythonScriptType.java :154) at org.netbeans.modules.scripting.AbstractScriptType.exec(AbstractScriptType.ja va:140) at org.openide.execution.ScriptType.exec(ScriptType.java:80) at org.netbeans.modules.scripting.ScriptSupport$1.run(ScriptSupport.java:72) at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:118) java.lang.NullPointerException: java.lang.NullPointerException at org.python.core.Py.JavaError(Py.java) at org.python.core.PyTableCode.call(PyTableCode.java) at org.python.core.PyCode.call(PyCode.java) at org.python.core.Py.runCode(Py.java) at org.python.core.Py.exec(Py.java) at org.python.util.PythonInterpreter.exec(PythonInterpreter.java) at org.netbeans.modules.scripting.JPythonScriptType.exec(JPythonScriptType.java :154) at org.netbeans.modules.scripting.AbstractScriptType.exec(AbstractScriptType.ja va:140) at org.openide.execution.ScriptType.exec(ScriptType.java:80) at org.netbeans.modules.scripting.ScriptSupport$1.run(ScriptSupport.java:72) [catch] at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:118) |