This is not something new, just something I've gotten around to reporting as Java5 is in end-of-life so I won't be able to use JPype after October. I'm not the first to notice this, see also http://www.velocityreviews.com/forums/showpost.php?p=1762407&postcount=9
Here is the test case; JPype works with the latest JRE for 5.0, but the command-line parser is messed up with JRE for 6.0
C:\Tools>set JPYPE_JVM=C:\Program Files\Java\jre1.5.0_21\bin\client\jvm.dll
C:\Tools>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, jpype
>>> jpype.startJVM(os.environ["JPYPE_JVM"])
>>> print 1+1
2
>>> ^Z
C:\Tools>set JPYPE_JVM=C:\Program Files\Java\jre6\bin\client\jvm.dll
C:\Tools>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, jpype
>>> jpype.startJVM(os.environ["JPYPE_JVM"])
>>> print 1+1
File "<stdin>", line 1
print 1+1
^
SyntaxError: invalid syntax
>>> ^Z
I've just tested Python 2.6.2, and that works fine with both JREs so I guess this isn't really a big deal.