Vishal,

You can use the runtime mode (bind) in a BEGIN block to do this:

BEGIN {
       $ENV{'CLASSPATH'} = 'C:\Sonic\MQ6.1\lib\certj.jar';
}

BEGIN {
    eval{
        require Inline ;
        Inline->bind(Java => 'STUDY', STUDY =>
['com.rsa.certj.xml.Transformer']);
    };
}

print "/n I came out of the eval block/n";


Patrick

On 12/2/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Is there a way to prevent the program from dying in such a case? For example, 
> I
> was trying to do the following:
>
> --------------------------------------------------------------------------------
>
> BEGIN {
>         $ENV{'CLASSPATH'} = 'C:\Sonic\MQ6.1\lib\certj.jar';
> }
>
> eval{
>         use Inline Java => 'STUDY', STUDY => 
> ['com.rsa.certj.xml.Transformer'];
> };
>
> print "/n I came out of the eval block/n";
>
> --------------------------------------------------------------------------------
>
> But, it still died inside the eval block with the same message.
>
> Thanks.
>
> Vishal
>
>
>
> >
> > [C:\sonicMQ-Perl]test.pl
> > java.lang.NoClassDefFoundError: com/rsa/jsafe/JSAFE_Exception
> >         at com.rsa.certj.xml.Transformer.<clinit>(Transformer.java:91)
>
> Seem like Inline::Java is trying to load
> com.rsa.certj.xml.Transformer, but during the class initialisation
> (static member?, static block?), com.rsa.certj.xml.Transformer is
> trying to itself load com/rsa/jsafe/JSAFE_Exception, which can't be
> found.
>
> My guess is that you probably nedd to load othre extra jar files to
> get that class.
>
> > Also, Transformer
> > is an abstract class. Does that matter?
>
> IIRC, you can't instantiate an abstract class since it is
> "incomplete". Normally you must extend it to fill in the unimplemented
> parts. You might get some sort if InstantiationException when you try
> to use it.
>
> Patrick
>
> >
> > Thanks.
> >
> > Vishal
> >
> > ----------------------------------------
> > This mail sent through www.mywaterloo.ca
> >
>
>
> --
> =====================
> Patrick LeBoutillier
> Laval, Québec, Canada
>
> ----------------------------------------
> This mail sent through www.mywaterloo.ca
>


--
=====================
Patrick LeBoutillier
Laval, Québec, Canada

Reply via email to