From: DITTGEN P. <pie...@cr...> - 2001-03-30 12:28:02
|
Hello, I'm quite new to jython, i find it very powerful as a script language. But at this time, I have a problem to make an independant jar from a jython script. I use Jython 2.0, with SUN JDK1.3.0 on Win2000 Pro. My script is called dir.py and contains: == begin ====== import os for file in os.listdir('.'): print file == end ======== It works well as I use the command line: jython dir.py (it shows me the list of the files of the current directory) I want to build a jar file from this script. I used this command : jythonc -a -j dir.jar dir.py It created a jar file (called dir.jar) which contains normally all the needed jython libraries needed to make it run. But as I want to run it, using the command java -jar dir.jar I got an exception : == begin ============== Java Traceback: at org.python.core.Py.JavaError(Py.java:238) at org.python.core.PyTableCode.call(PyTableCode.java:159) at org.python.core.imp.createFromCode(imp.java:157) at org.python.core.Py.runMain(Py.java:798) at dir.main(dir.java:61) Traceback (innermost last): File "C:\Documents\src\jython\test\dir.py", line 0, in main java.lang.ExceptionInInitializerError: java.lang.NullPointerException at org.python.modules.os.<clinit>(os.java:11) at java.lang.reflect.Method.invoke(Native Method) at org.python.core.PyJavaClass.initialize(PyJavaClass.java:108) at org.python.core.PyJavaClass.lookupGivingClass(PyJavaClass.java:666) at org.python.core.PyClass.lookup(PyClass.java:164) at org.python.core.PyJavaClass.__findattr__(PyJavaClass.java:712) at org.python.core.PyObject.__getattr__(PyObject.java:670) at dir$_PyInner.main$1(dir.java:43) at dir$_PyInner.call_function(dir.java:28) at org.python.core.PyTableCode.call(PyTableCode.java:155) at org.python.core.imp.createFromCode(imp.java:157) at org.python.core.Py.runMain(Py.java:798) at dir.main(dir.java:61) java.lang.ExceptionInInitializerError: java.lang.ExceptionInInitializerError == end ================ I solved the problem giving the root dir of jython installation as a system property: java -Dpython.home=c:\dev\jython-2.0 -jar dir.jar But it annoys me... Is the generated jar (dir.jar) still dependant of the jython installation ? Does it mean that it can't run on a workstation having only JRE installed ? If not, please help me to find out the thing or the option I missed. Thanks Pierre -- Pierre Dittgen, software engineer CRIL Telecom software E-mail: pie...@cr... Phone: (33) 1 58 17 04 64 |