Re: Accessing Packages from LiveConnect

[email protected] Wed, 01 Aug 2007 20:03:02 -0000
Newsgroups gmane.comp.mozilla.devel.java
Organization http://groups.google.com
Message-ID <1185998582.783483.7260__5385.54290910742$1185998772$gmane$org@l70g2000hse.googlegroups.com>
On Jul 9, 9:36 am, Brett Zamir <[email protected]> wrote:
> Hello,
>
> I am trying to get access to Berkeley DB XML's Java classes from within
> XUL and it doesn't seem to work for me.
>
> Whereas I can get the built-in Java packages from XUL with no problem:
>
>     var abc = java.lang.System.out.println("aaaa");  // Writes
> sucessfully to the Java Console that I have set to open
>
> I have no luck with BDBXML from XUL, even though it is in my CLASSPATH
> (if that's where it's supposed to be for it to be available):
>
>     var xmlman = new Packages.com.sleepycat.dbxml.XmlManager();
>
>     gives:
>
>     TypeError: Packages.com.sleepycat.dmxml.XmlManager is not a constructor
>
> I've also successfully been able to test what should I believe be the
> equivalent file in Java (using NetBeans) and there is no problem.
>
> import com.sleepycat.dbxml.*;
> import java.io.*;
>
> public class Main {
>     public static void main(String[] args) throws Throwable {
>         try {
>             XmlManager myManager = new XmlManager();
>         }
>         catch (XmlException e) {
>             System.out.println("XMLexception" + e);
>         }
>         catch (Exception e) {
>             System.out.println("Exception1" + e);
>         }
>     }
>
> }
>
> thx in advance,
> Brett

Hi, I am using a class loader to load external packages. I want to
load "java lapack classes". Here is a piece of code:

...
  var fURL = new Array();
  fURL[1] = new java.net.URL("file:///H:/Devel/NetbeansProjects/
JavaLapack/jlapack-0.8/blas_simple.jar");
  fURL[2] = new java.net.URL("file:///H:/Devel/NetbeansProjects/
JavaLapack/jlapack-0.8/f2jutil.jar");
  fURL[3] = new java.net.URL("file:///H:/Devel/NetbeansProjects/
JavaLapack/jlapack-0.8/lapack.jar");
  fURL[4] = new java.net.URL("file:///H:/Devel/NetbeansProjects/
JavaLapack/jlapack-0.8/lapack_simple.jar");
  fURL[5] = new java.net.URL("file:///H:/Devel/NetbeansProjects/
JavaLapack/jlapack-0.8/blas.jar");
  fURL[6] = new java.net.URL("file:///H:/Devel/NetbeansProjects/
JavaLapack/jlapack-0.8/xerbla.jar");


  var loader = new java.net.URLClassLoader(fURL);

  var class1 = loader.loadClass("org.netlib.blas.DGEMM");

  var instance1 = class1.newInstance();
...

fURL contains the list of jars where all your classes are. You have to
load all packages needed by the class(es) that you want to use. Then
you create a loader, using java.net.URLClassLoader. From that you get
the class using loader.loadClass and finally you create an instance of
that class.

Be sure to use file:/// when loading the jars.

m.