On Thu, 6 Mar 2008, Bill Janssen wrote:

So, now I've got two different modules that require different
classpaths, and I'd like to be able to use both in the same Python VM.
How do I call initVM() appropriately?

That's actually documented line 251 in jcc's README file.
initVM() returns an env value which you can pass on to later initVM() calls.

The code below is supposed to work but has never been tested in a real situation:

  >>> import os, foo, bar
  >>> env = foo.initVM(foo.CLASSPATH)
  >>> bar.initVM(classpath=os.pathsep.join([foo.CLASSPATH, bar.CLASSPATH]),
                 env=env)

You can also get this env value by calling getVMEnv() as in:

  >>> import foo
  >>> foo.initVM(foo.CLASSPATH)

  >>> import os, foo, bar
  >>> bar.initVM(classpath=os.pathsep.join([foo.CLASSPATH, bar.CLASSPATH]),
                 env=foo.getVMEnv())

If the classpath resetting doesn't stick, try setting it to both in the first initVM() call. I'm a little unsure about the dynamic classpath changing of a running VM. I do it in jcc by setting the java.class.path system property.

Let me know if this actually works...

Andi..
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev

Reply via email to