From: Cory R. <cri...@th...> - 2006-06-03 07:12:42
|
I'm having a hard time figuring out how to load my jars on the fly and reading through the archives I've found lots of similar questions but nothing I've tried has worked. Here's the scenario- I've downloaded and installed jython-2.1. I have a directory C:\somewhere\lib with some jars in it. One of these jars has com.something.MyClass.class in it. I don't have a CLASSPATH environment variable or anything like that. So, I start jython using the jython.bat file. Then: >>> import sys >>> sys.add_extdir("C:/somewhere/lib") >>> import com.something >>> x = com.something.MyClass() Traceback (innermost last): File "<console>", line 1, in ? AttributeError: java package 'com.something' has no attribute 'MyClass' MyClass is public.I can also do this: >>> dir(com.something) ['ISomething', 'MyClass', 'MyClass2', '__name__'] So jython knows about MyClass. Any idea what I need to do? Thanks. |
From: Fabio Z. <fa...@gm...> - 2006-06-03 12:42:14
|
It's a jython bug... you NEED to have java classes in the classpath too (and not only in the sys.path). I'm sure it can be fixed (so, the only thing that's missing is someone with the need -- and the time -- to go and fix it). Cheers, Fabio On 6/3/06, Cory Riddell <cri...@th...> wrote: > > I'm having a hard time figuring out how to load my jars on the fly and > reading through the archives I've found lots of similar questions but > nothing I've tried has worked. Here's the scenario- > > I've downloaded and installed jython-2.1. I have a directory > C:\somewhere\lib with some jars in it. One of these jars has > com.something.MyClass.class in it. I don't have a CLASSPATH environment > variable or anything like that. > > So, I start jython using the jython.bat file. Then: > >>> import sys > >>> sys.add_extdir("C:/somewhere/lib") > >>> import com.something > >>> x = com.something.MyClass() > Traceback (innermost last): > File "<console>", line 1, in ? > AttributeError: java package 'com.something' has no attribute 'MyClass' > > MyClass is public.I can also do this: > >>> dir(com.something) > ['ISomething', 'MyClass', 'MyClass2', '__name__'] > > So jython knows about MyClass. Any idea what I need to do? > > Thanks. > > > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > |
From: Charlie G. <cha...@gm...> - 2006-06-03 17:47:48
|
I was able to get around this by calling addJar directly on the packageManager in PySystemState. Unfortunately all my code is using reflection to get the Jython classes and methods so it doesn't paste very well, but I think the call would look like ((SysPackageManager)PySystemState.packageManager).addJar(<path to jar file>, true); if done directly. Charlie On 6/3/06, Fabio Zadrozny <fa...@gm...> wrote: > It's a jython bug... you NEED to have java classes in the classpath too (and > not only in the sys.path). I'm sure it can be fixed (so, the only thing > that's missing is someone with the need -- and the time -- to go and fix > it). > > Cheers, > > Fabio > > > On 6/3/06, Cory Riddell <cri...@th...> wrote: > > I'm having a hard time figuring out how to load my jars on the fly and > > reading through the archives I've found lots of similar questions but > > nothing I've tried has worked. Here's the scenario- > > > > I've downloaded and installed jython-2.1. I have a directory > > C:\somewhere\lib with some jars in it. One of these jars has > > com.something.MyClass.class in it. I don't have a CLASSPATH environment > > variable or anything like that. > > > > So, I start jython using the jython.bat file. Then: > > >>> import sys > > >>> sys.add_extdir("C:/somewhere/lib") > > >>> import com.something > > >>> x = com.something.MyClass() > > Traceback (innermost last): > > File "<console>", line 1, in ? > > AttributeError: java package 'com.something' has no attribute 'MyClass' > > > > MyClass is public.I can also do this: > > >>> dir(com.something) > > ['ISomething', 'MyClass', 'MyClass2', '__name__'] > > > > So jython knows about MyClass. Any idea what I need to do? > > > > Thanks. > > > > > > _______________________________________________ > > Jython-users mailing list > > Jyt...@li... > > https://lists.sourceforge.net/lists/listinfo/jython-users > > > > > > > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > > > |