[ https://issues.apache.org/jira/browse/PIVOT-917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jose V Nunez updated PIVOT-917: ------------------------------- Attachment: HelloBXML.py Sample code. > Pivot cannot find inner classes in the CLASSPATH when invoked from Jython > ------------------------------------------------------------------------- > > Key: PIVOT-917 > URL: https://issues.apache.org/jira/browse/PIVOT-917 > Project: Pivot > Issue Type: Bug > Components: pivot-on-apache-extras > Affects Versions: 2.0.3 > Reporter: Jose V Nunez > Labels: jruby, jython > Attachments: HelloBXML.py > > > The following is similar to the simple Hello world BXML from the PIVOT > website (http://pivot.apache.org/tutorials/hello-bxml.html, file hello.bxml > content is identical): > {code} > #!/usr/bin/env jython > from org.apache.pivot.beans import BXMLSerializer > from org.apache.pivot.collections import Map > from org.apache.pivot.wtk import Application > from org.apache.pivot.wtk import Display > from org.apache.pivot.wtk import Window > from org.apache.pivot.wtk import DesktopApplicationContext > from java.lang import Runnable, Exception as Ex > from javax.swing import SwingUtilities > import sys,subprocess,os,re, traceback > class HelloBXML(Application): > def __init__(self): > self.window = None > self.bxmlSerializer = BXMLSerializer() > def startup(self, display, properties): > self.window = self.bxmlSerializer.readObject(HelloBXML, > "hello.bxml") > self.window.open(display) > def shutdown(self, optional): > if self.window != null: > window.close() > return False; > def suspend(self): > pass > def resume(self): > pass > class Task(Runnable): > def __init__(self, argv): > self.argv = argv > def run(self): > DesktopApplicationContext.main(HelloBXML, self.argv) > if __name__ == "__main__": > try: > SwingUtilities.invokeAndWait(Task(sys.argv[1:])) > except: > traceback.print_exc(file=sys.stderr) > sys.exit(192) > {code} > Exception stack trace: > {code} > # Script file: ~/HelloBXML.py > java.lang.ClassNotFoundException: org.python.proxies.__main__$HelloBXML$1 > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at java.lang.ClassLoader.loadClass(ClassLoader.java:423) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:356) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:186) > at > org.apache.pivot.wtk.DesktopApplicationContext.main(DesktopApplicationContext.java:606) > at > org.apache.pivot.wtk.DesktopApplicationContext.main(DesktopApplicationContext.java:881) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at > org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) > at > org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) > at org.python.core.PyObject.__call__(PyObject.java:404) > at org.python.core.PyObject.__call__(PyObject.java:408) > at org.python.pycode._pyx0.run$9(/home/jnunezzu/HelloBXML.py:39) > at org.python.pycode._pyx0.call_function(/home/jnunezzu/HelloBXML.py) > at org.python.core.PyTableCode.call(PyTableCode.java:165) > at org.python.core.PyBaseCode.call(PyBaseCode.java:301) > at org.python.core.PyBaseCode.call(PyBaseCode.java:194) > at org.python.core.PyFunction.__call__(PyFunction.java:387) > at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:220) > at org.python.core.PyMethod.__call__(PyMethod.java:211) > at org.python.core.PyMethod.__call__(PyMethod.java:201) > at org.python.core.PyMethod.__call__(PyMethod.java:196) > at org.python.core.PyObject._jcallexc(PyObject.java:3502) > at org.python.core.PyObject._jcall(PyObject.java:3534) > at org.python.proxies.__main__$Task$2.run(Unknown Source) > at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705) > at java.awt.EventQueue.access$000(EventQueue.java:101) > at java.awt.EventQueue$3.run(EventQueue.java:666) > at java.awt.EventQueue$3.run(EventQueue.java:664) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:675) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) > at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) > at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) > {code} > I tested this with the following configuration: > {code} > Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:48:36) > [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0 > Type "help", "copyright", "credits" or "license" for more information. > java -version > java version "1.7.0" > Java(TM) SE Runtime Environment (build 1.7.0-b147) > Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) > uname -a > Linux XXXX 2.6.18-348.3.1.el5 #1 SMP Tue Mar 5 13:19:32 EST 2013 x86_64 > x86_64 x86_64 GNU/Linux > echo $CLASSPATH > /home/jose/src/apache-pivot-2.0.3/lib/hello.bxml:/home/jose/src/apache-pivot-2.0.3/lib/pivot-wtk-terra-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-wtk-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-web-server-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-web-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-core-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-charts-2.0.3.jar::. > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira