Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

Arrgh! Java is an Inscrutable Mystery.

12 posts in General Discussion (old) Last posting was on 2000-11-30 17:13:16.0Z
Andrew Hart Posted on 2000-02-29 18:26:17.0Z
Newsgroups: sybase.public.easerver
Date: Tue, 29 Feb 2000 12:26:17 -0600
From: Andrew Hart <Andrew_Hart@harcourt.com>
Organization: The Psychological Corporation
X-Mailer: Mozilla 4.7 [en] (Win95; I)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Arrgh! Java is an Inscrutable Mystery.
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 159
NNTP-Posting-Host: 167.208.175.68
Message-ID: <347_38BC0F49.AB63F9E9@harcourt.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27483
Article PK: 158875

I posted a question the other day about fooware FTP... and a fellow
directed me to PowerJ's built in FTP class.
SO.. in spite of my being a Total Java Idiot, I decided to try it
out... seemed simple enough.

Following the help directions for creating a Java Jaguar Component, I
created an Enterprise Java Bean. I added three new empty methods to it
and deployed it successfully. I created a Powerbuilder client to
instantiate that component. So far so good. (My methods were
doConnect(), doDisconnect(), and doPutFile())

Then, I added in the FTP non visual class object. I set the properties
for it, and added the connect and disconnect to my two corresponding
methods. Upon trying to deploy this, I got the following error messages
from the deployment:
(see exhibit A)

----------- Exhibit A ---------------

com.sybase.jaguar.util.JException: java.lang.NoClassDefFoundError:
Lpowersoft/powerj/net/FTP;
at com.sybase.jaguar.importer.JImporter.Load(JImporter.java:384)
at com.sybase.jaguar.importer.JImporter.Import(JImporter.java:92)
at
com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:168)

at
com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:177)

at com.sybase.jaguar.deploy.JagDeploy.mainfunc(Compiled Code)
at com.sybase.jaguar.deploy.JagDeploy.RunApp(JagDeploy.java)
at com.sybase.jaguar.deploy.JagDeploy.main(JagDeploy.java)
Exception - com.sybase.jaguar.util.JException:
java.lang.NoClassDefFoundError: Lpowersoft/powerj/net/FTP;
Import not successful with classfile - javatest.jagbean.JagBeanImpl
"C:\Program Files\Sybase\Shared\Sun\JDK118\bin\java" -classpath
"C:\Program Files\Sybase\Shared\Sun\JDK118\lib\classes.zip;C:\PROGRAM
FILES\SYBASE\POWERJ30\Java\lib;C:\Program
Files\Sybase\PowerJ30\java\Powersoft\jaguarpj.zip;C:\Program
Files\Sybase\PowerJ30\Projects\javajag\jagbeanAll\Debug\jagbeanAll.jar;."
com.sybase.jaguar.deploy.JagDeploy username=jagadmin host=W005154:9000
name=JagBean1 package=javatest class=javatest.jagbean.JagBeanImpl
threading=thread.safe, transaction=notsupported demarcation=no
instanceTimeout= transactionTimeout= server=Jaguar, basedir="C:/Program
Files/Sybase/PowerJ30/Projects/javajag/jagbeanAll/Debug/"
classfiles="\\\\Base-Folder: C:\Program
Files\Sybase\PowerJ30\Projects\javajag\jagbeanAll\Debug\,C:/Program
Files/Sybase/PowerJ30/Projects/javajag/jagbeanAll/Debug/jagbeanAll.jar"
housekeeping=cleanup
"C:\Program Files\Sybase\Shared\Sun\JDK118\bin\java" -classpath
"C:\Program Files\Sybase\Shared\Sun\JDK118\lib\classes.zip;C:\PROGRAM
FILES\SYBASE\POWERJ30\Java\lib;C:\Program
Files\Sybase\PowerJ30\java\Powersoft\jaguarpj.zip;C:\Program
Files\Sybase\PowerJ30\Projects\javajag\jagbeanAll\Debug\jagbeanAll.jar;."
com.sybase.jaguar.deploy.JagTransferFiles username=jagadmin
host=W005154:9000 name=JagBean1 package=javatest
class=javatest.jagbean.JagBeanImpl threading=thread.safe,
transaction=notsupported demarcation=no instanceTimeout=
transactionTimeout= basedir="C:/Program
Files/Sybase/PowerJ30/Projects/javajag/jagbeanAll/Debug/"
classfiles="\\\\Base-Folder: C:\Program
Files\Sybase\PowerJ30\Projects\javajag\jagbeanAll\Debug\,C:/Program
Files/Sybase/PowerJ30/Projects/javajag/jagbeanAll/Debug/jagbeanAll.jar"
housekeeping=cleanup
Cannot delete SkeletonJava
Cannot delete SkeletonClasses

------------ End Exhibit A -----------

I checked the class path and verified that %JAGUAR%/html/classes was in
the classpath and found that the powersoft.powerj.net stuff was in
there. Several attempts yielded the same results.

I deleted the FTP base class object and redeployed successfully. I
added it back in and deployment failed again.

I monkeyed around with the deployment options and set it to deploy
referenced classes. Still no luck, same results.
So, my boss stopped by to inquire into my progress... I selected the
PowerJ deploy option again... and, it seemed to
work. I have no idea why, since I hadn't changed any further options
since the last time I tried it.

BUT, upon trying out my PowerBuilder client, now I can't instantiate
the component. I see this message in the server log:
See Exhibit B

----------- Exhibit B --------------

Loading: D:\Program Files\Sybase\Jaguar CTS
3.0\java\classes\javatest\jagbean\JagBeanImpl.class
Loading: D:\Program Files\Sybase\Jaguar CTS
3.0\java\classes\javatest\jagbean\_sk_javatest_JagBean1.class
Class missing for error: java/lang/ExceptionInInitializerError at
java.lang.ClassLoader.resolveClass(ClassLoader.java:237)
Error: Java class javatest.jagbean._sk_javatest_JagBean1 not loaded.
Did you remember to generate a skeleton?
java.lang.NoClassDefFoundError
Exception
in thread
"Thread-3"

java.lang.ClassNotFoundException: java.lang.NoClassDefFoundError
Feb 29 12:02:39 2000: at
com.sybase.jaguar.server.JaguarClassLoader.cnfe(JaguarClassLoader.java:94)

at
com.sybase.jaguar.server.JaguarClassLoader.loadClass(JaguarClassLoader.java:240)

at
com.sybase.jaguar.server.JaguarClassLoader.loadClass(JaguarClassLoader.java:176)

CTS_Component::load: failed for component 'javatest/JagBean1'
test/JagBean1'

---------------------------------------

DOH! OK, so I went into Jagmanager, selected the installed package and
regenerated the Skeleton for it, using all the default options. Still
no change. I then removed the FTP base object, deleted the package and
component completely from the Jaguar server and redeployed it back to
the server again in the vain hope of getting back to a point where it
was working. Still no change, I see the same message in Exhibit B.

BTW, this is where I was Yesterday... I first encountered this "Exhibit
B" problem yesterday, so today I started out with a clean new component
and started over trying to be more methodical about it, but I'm back
where I started.

I've seen several messages regarding these same messages, but I haven't
seen a satisfactory (i.e., "understandable" to a Java Idiot such as
myself) explanation and solution. If anyone can help, I will be most
appreciative. Meanwhile, I'll go search for a chicken to slit open on
top of my workstation in the hopes of fixing/understanding this hinky
voodoo Java... er, stuff.


Terryh Posted on 2000-11-29 05:33:19.0Z
Newsgroups: sybase.public.easerver
From: Terryh@iba.com.au
Date: Wed, 29 Nov 2000 00:33:19 -0500
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Lines: 6
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Message-ID: <347_679D0B93E5B9DFC2001E841B852569A6.0067832085256896@webforums>
References: <347_38BC0F49.AB63F9E9@harcourt.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com!webforums.sybase.com!news
Xref: forums-1-dub sybase.public.easerver:5884
Article PK: 135205

Same problem different object. I got this by adding a timer object

Has there been any resolution


Terry Hastings


Jonathan Baker [Sybase] Posted on 2000-11-29 07:11:33.0Z
Newsgroups: sybase.public.easerver
From: "Jonathan Baker [Sybase]" <bakerj@sybase.com>
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Date: Wed, 29 Nov 2000 18:11:33 +1100
Lines: 21
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2919.6600
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
NNTP-Posting-Host: bakerj-nt.sybase.com 158.77.64.215
Message-ID: <347_S6LwTWdWAHA.162@forums.sybase.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_679D0B93E5B9DFC2001E841B852569A6.0067832085256896@webforums>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:5872
Article PK: 135190

Java is inscrutable, certainly, but only because you haven't been initiated
and don't know the secret handshake yet.

But, in the meantime, what exactly is the problem?

--
Jonathan Baker
Internet Applications Division
Sybase, Inc.

<Terryh@iba.com.au> wrote in message
news:679D0B93E5B9DFC2001E841B852569A6.0067832085256896@webforums...
> Same problem different object. I got this by adding a timer object
>
> Has there been any resolution
>
>
> Terry Hastings


Tim Nesham Posted on 2000-11-30 17:13:16.0Z
Newsgroups: sybase.public.easerver
From: "Tim Nesham" <tim.nesham@born.com>
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Date: Thu, 30 Nov 2000 11:13:16 -0600
Lines: 30
Organization: BORN
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2919.6700
X-Mimeole: Produced By Microsoft MimeOLE V5.00.2919.6700
NNTP-Posting-Host: efg1.mids.com 207.250.224.4
Message-ID: <347_DST4WLvWAHA.301@forums.sybase.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_679D0B93E5B9DFC2001E841B852569A6.0067832085256896@webforums> <347_S6LwTWdWAHA.162@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:5696
Article PK: 135016

Huh? There's a secret handshake?? Damn, is that on the certification
test??? ;)

"Jonathan Baker [Sybase]" <bakerj@sybase.com> wrote in message
news:S6LwTWdWAHA.162@forums.sybase.com...
> Java is inscrutable, certainly, but only because you haven't been
initiated
> and don't know the secret handshake yet.
>
> But, in the meantime, what exactly is the problem?
>
> --
> Jonathan Baker
> Internet Applications Division
> Sybase, Inc.
>
>
> <Terryh@iba.com.au> wrote in message
> news:679D0B93E5B9DFC2001E841B852569A6.0067832085256896@webforums...
> > Same problem different object. I got this by adding a timer object
> >
> > Has there been any resolution
> >
> >
> > Terry Hastings
>
>


Andrew Hart Posted on 2000-02-29 22:53:46.0Z
Newsgroups: sybase.public.easerver
Date: Tue, 29 Feb 2000 16:53:46 -0600
From: Andrew Hart <Andrew_Hart@harcourt.com>
Organization: The Psychological Corporation
X-Mailer: Mozilla 4.7 [en] (Win95; I)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 49
NNTP-Posting-Host: 167.208.175.68
Message-ID: <347_38BC4DFA.DFF14D24@harcourt.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27467
Article PK: 158862

Update:

OK, I figured out that I wasn't supposed to deploy the Bean, only the Jar file, so I
was able to get back to the point of a working "empty" Java Jaguar component. I've
been stepping through the process of deploying a component and "watching" the server
(using Find) to figure out just exactly what is getting deployed where. But, I
still can't resolve the original problem:

When I deploy my Javabean, I still get this deployment error:

> com.sybase.jaguar.util.JException: java.lang.NoClassDefFoundError:
> Lpowersoft/powerj/net/FTP;
> at com.sybase.jaguar.importer.JImporter.Load(JImporter.java:384)
> at com.sybase.jaguar.importer.JImporter.Import(JImporter.java:92)
> at com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:168)
> at com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:177)
> at com.sybase.jaguar.deploy.JagDeploy.mainfunc(Compiled Code)
> at com.sybase.jaguar.deploy.JagDeploy.RunApp(JagDeploy.java)
> at com.sybase.jaguar.deploy.JagDeploy.main(JagDeploy.java)
> Exception - com.sybase.jaguar.util.JException: java.lang.NoClassDefFoundError:
> Lpowersoft/powerj/net/FTP;
> Import not successful with classfile - javatest.jagbean.JagBeanImpl
> "C:\Program Files\Sybase\Shared\Sun\JDK118\bin\java" -classpath "C:\Program
> Files\Sybase\Shared\Sun\JDK118\lib\classes.zip;C:\PROGRAM
> FILES\SYBASE\POWERJ30\Java\lib;C:\Program
> Files\Sybase\PowerJ30\java\Powersoft\jaguarpj.zip;C:\Program
> Files\Sybase\PowerJ30\Projects\javajag\jagbeanAll\Debug\jagbeanAll.jar;."
> com.sybase.jaguar.deploy.JagDeploy

> [...]

>
> Cannot delete SkeletonJava
> Cannot delete SkeletonClasses

I've checked the classpath on the server, and it points to %JAGUAR%/html/classes and
%JAGUAR%/java/classes.
I even added in the path to the powerjd.zip file in the html classes directory, to
no avail. I just don't get it.


Mark Maslow Posted on 2000-02-29 22:58:22.0Z
Newsgroups: sybase.public.easerver
From: "Mark Maslow" <mark.maslow@sierraclub.org>
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Date: Tue, 29 Feb 2000 14:58:22 -0800
Lines: 68
Organization: Sierra Club
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2314.1300
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
NNTP-Posting-Host: machine001.sierraclub.org 207.90.163.1
Message-ID: <347_wPtuTlwg$GA.202@forums.sybase.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_38BC4DFA.DFF14D24@harcourt.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27466
Article PK: 158861

The error says that it can't find Lpowersoft/powerj/net/FTP

I can' find this one either. What I *do* see under the Jaguar/html/classes
directory is:

powersoft/powerj/net/FTP.class

I suspect this is really the class you're looking for.

Where did Lpowersoft come from?

Andrew Hart <Andrew_Hart@harcourt.com> wrote in message
news:38BC4DFA.DFF14D24@harcourt.com...
> Update:
>
> OK, I figured out that I wasn't supposed to deploy the Bean, only the Jar
file, so I
> was able to get back to the point of a working "empty" Java Jaguar
component. I've
> been stepping through the process of deploying a component and "watching"
the server
> (using Find) to figure out just exactly what is getting deployed where.
But, I
> still can't resolve the original problem:
>
> When I deploy my Javabean, I still get this deployment error:
>
> > com.sybase.jaguar.util.JException: java.lang.NoClassDefFoundError:
> > Lpowersoft/powerj/net/FTP;
> > at com.sybase.jaguar.importer.JImporter.Load(JImporter.java:384)
> > at com.sybase.jaguar.importer.JImporter.Import(JImporter.java:92)
> > at
com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:168)
> > at
com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:177)
> > at com.sybase.jaguar.deploy.JagDeploy.mainfunc(Compiled Code)
> > at com.sybase.jaguar.deploy.JagDeploy.RunApp(JagDeploy.java)
> > at com.sybase.jaguar.deploy.JagDeploy.main(JagDeploy.java)
> > Exception - com.sybase.jaguar.util.JException:
java.lang.NoClassDefFoundError:
> > Lpowersoft/powerj/net/FTP;
> > Import not successful with classfile - javatest.jagbean.JagBeanImpl
> > "C:\Program Files\Sybase\Shared\Sun\JDK118\bin\java" -classpath
"C:\Program
> > Files\Sybase\Shared\Sun\JDK118\lib\classes.zip;C:\PROGRAM
> > FILES\SYBASE\POWERJ30\Java\lib;C:\Program
> > Files\Sybase\PowerJ30\java\Powersoft\jaguarpj.zip;C:\Program
> >
Files\Sybase\PowerJ30\Projects\javajag\jagbeanAll\Debug\jagbeanAll.jar;."
> > com.sybase.jaguar.deploy.JagDeploy
>
> > [...]
>
> >
> > Cannot delete SkeletonJava
> > Cannot delete SkeletonClasses
>
> I've checked the classpath on the server, and it points to
%JAGUAR%/html/classes and
> %JAGUAR%/java/classes.
> I even added in the path to the powerjd.zip file in the html classes
directory, to
> no avail. I just don't get it.
>
>


Dave Wolf [Sybase] Posted on 2000-03-01 05:42:53.0Z
Newsgroups: sybase.public.easerver
From: "Dave Wolf [Sybase]" <dwolf@sybase.com>
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Date: Wed, 1 Mar 2000 00:42:53 -0500
Lines: 84
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2919.6600
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
NNTP-Posting-Host: PPPa8-ResaleDialinx80013-4R7207.saturn.bbn.com 4.54.159.69
Message-ID: <347_gTYjFG0g$GA.202@forums.sybase.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_38BC4DFA.DFF14D24@harcourt.com> <347_wPtuTlwg$GA.202@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27450
Article PK: 158848

Thats just how the VM prints the class name.

Is that class in Jaguar's CLASSPATH?

Dave Wolf
Internet Applications Division

"Mark Maslow" <mark.maslow@sierraclub.org> wrote in message
news:wPtuTlwg$GA.202@forums.sybase.com...
> The error says that it can't find Lpowersoft/powerj/net/FTP
>
> I can' find this one either. What I *do* see under the
Jaguar/html/classes
> directory is:
>
> powersoft/powerj/net/FTP.class
>
> I suspect this is really the class you're looking for.
>
> Where did Lpowersoft come from?
>
>
> Andrew Hart <Andrew_Hart@harcourt.com> wrote in message
> news:38BC4DFA.DFF14D24@harcourt.com...
> > Update:
> >
> > OK, I figured out that I wasn't supposed to deploy the Bean, only the
Jar
> file, so I
> > was able to get back to the point of a working "empty" Java Jaguar
> component. I've
> > been stepping through the process of deploying a component and
"watching"
> the server
> > (using Find) to figure out just exactly what is getting deployed where.
> But, I
> > still can't resolve the original problem:
> >
> > When I deploy my Javabean, I still get this deployment error:
> >
> > > com.sybase.jaguar.util.JException: java.lang.NoClassDefFoundError:
> > > Lpowersoft/powerj/net/FTP;
> > > at com.sybase.jaguar.importer.JImporter.Load(JImporter.java:384)
> > > at com.sybase.jaguar.importer.JImporter.Import(JImporter.java:92)
> > > at
>
com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:168)
> > > at
>
com.sybase.jaguar.importer.JJavaImporter.importClass(JJavaImporter.java:177)
> > > at com.sybase.jaguar.deploy.JagDeploy.mainfunc(Compiled Code)
> > > at com.sybase.jaguar.deploy.JagDeploy.RunApp(JagDeploy.java)
> > > at com.sybase.jaguar.deploy.JagDeploy.main(JagDeploy.java)
> > > Exception - com.sybase.jaguar.util.JException:
> java.lang.NoClassDefFoundError:
> > > Lpowersoft/powerj/net/FTP;
> > > Import not successful with classfile - javatest.jagbean.JagBeanImpl
> > > "C:\Program Files\Sybase\Shared\Sun\JDK118\bin\java" -classpath
> "C:\Program
> > > Files\Sybase\Shared\Sun\JDK118\lib\classes.zip;C:\PROGRAM
> > > FILES\SYBASE\POWERJ30\Java\lib;C:\Program
> > > Files\Sybase\PowerJ30\java\Powersoft\jaguarpj.zip;C:\Program
> > >
> Files\Sybase\PowerJ30\Projects\javajag\jagbeanAll\Debug\jagbeanAll.jar;."
> > > com.sybase.jaguar.deploy.JagDeploy
> >
> > > [...]
> >
> > >
> > > Cannot delete SkeletonJava
> > > Cannot delete SkeletonClasses
> >
> > I've checked the classpath on the server, and it points to
> %JAGUAR%/html/classes and
> > %JAGUAR%/java/classes.
> > I even added in the path to the powerjd.zip file in the html classes
> directory, to
> > no avail. I just don't get it.
> >
> >
>
>


Andrew Hart Posted on 2000-03-01 17:27:37.0Z
Newsgroups: sybase.public.easerver
Date: Wed, 01 Mar 2000 11:27:37 -0600
From: Andrew Hart <Andrew_Hart@harcourt.com>
Organization: The Psychological Corporation
X-Mailer: Mozilla 4.7 [en] (Win95; I)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Content-Type: multipart/alternative; boundary="------------FB0D535597C9F5E47EFA3B51"
Lines: 389
NNTP-Posting-Host: 167.208.175.68
Message-ID: <347_38BD5308.E8452345@harcourt.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_38BC4DFA.DFF14D24@harcourt.com> <347_wPtuTlwg$GA.202@forums.sybase.com> <347_gTYjFG0g$GA.202@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27418
Article PK: 158821

Hi Dave,

Firstly, thanks for all you do here.  It is greatly appreciated.  I know I have alot of stuff in this message: my apologies if I'm being too verbose.  I have some specific questions at the end of this message.

What seems to confound me about Java (and so, by extension, Jaguar) are Classes and Classpaths.  There are just so many classes and in so many places, that I find it difficult to figure out what goes where.

I'm on a Windows 95 workstation running Powerbuilder 7.0 (build 6012) and PowerJ 3.0 (build 1483).  I'm trying to deploy this component to  Jaguar Version 3.0.1 (Build 30031) running in debug mode.  ( We also have a 3.5 installation on another machine.)  This particular machine is running NT Workstation, and the server is running as an application.  (I believe there may have been previous versions of Jaguar installed on this machine, but that predates me.)

Here are the environment variables on the server:
--------------------
CLASSPATH=.;D:\Program Files\Sybase\Shared\Sun\jdk117\lib\classes.zip;D:\Program Files\Sybase\Shared\PowerBuilder\classes.zip;D:\Program Files\Jaguar CTS 3.0\html\classes;d:\Program Files\Jaguar CTS 3.0\java\classes;

JAGUAR=D:\Program Files\Sybase\Jaguar CTS 3.0
JAGUAR_CLIENT_ROOT=D:\Program Files\Sybase\Jaguar CTS 3.0\client
JDK_LATEST=D:\Program Files\Sybase\Shared\Sun\Jdk118
JRE_LATEST=D:\Program Files\Sybase\Jaguar CTS 3.0\jre

Path=D:\Program Files\SYBASE\Jaguar CTS 3.0\client\dll;D:\Program Files\SYBASE\SHARED\Open Client\dll;D:\Program Files\SYBASE\SHARED\Open Client\bin;D:\Program Files\SYBASE\SHARED\Sun\JDK117\bin;D:\Program Files\SYBASE\PowerDynamo\win32;E:\ORANT\BIN;D:\Program Files\Sybase\Jaguar CTS 3.0\dll;D:\Program Files\Sybase\Shared\Sun\JDK118\bin;D:\Program Files\Sybase\Shared\PowerBuilder;D:\Program Files\Sybase\Adaptive Server Anywhere 6.0\win32;;C:\PROGRA~1\NETWOR~1\MCAFEE~1
---------------------

In the %JAGUAR%\html\classes  directory there is a powersoft/powerj/net directory:

 Directory of D:\Program Files\SYBASE\Jaguar CTS 3.0\html\classes\powersoft\powerj\net

10/25/99  04:00p        <DIR>          .
10/25/99  04:00p        <DIR>          ..
07/19/99  02:46p                 4,222 BaseSocket.class
07/19/99  02:46p                 1,266 ConnectionRequestMonitorThread.class
07/19/99  02:46p                   669 ConnectThread.class
07/19/99  02:46p                   841 DataArrivalMonitorThread.class
07/19/99  02:46p                 1,591 DatagramSocket.class
07/19/99  02:46p                 7,156 FTP.class
07/19/99  02:46p                 2,094 FTPInterface.class
07/19/99  02:46p                 1,036 GetHostByNameThread.class
07/19/99  02:46p                 4,276 HTTP.class
07/19/99  02:46p                 1,065 HTTPInterface.class
07/19/99  02:46p                 3,712 Internet.class
07/19/99  02:46p                   777 SendThread.class
07/19/99  02:46p                 3,531 ServerSocket.class
07/19/99  02:46p                 6,178 Socket.class
07/19/99  02:46p                   588 SocketExceptionCode.class
07/19/99  02:46p                 1,981 StreamSocket.class
07/19/99  02:46p                   359 URLComponents.class
              19 File(s)         41,342 bytes
---------------------
In the %JAGUAR%\java\classes  directory there is also a powersoft/powerj/net directory, but I pretty sure  that it was put there by me when I selected some options in PowerJ to transfer the referenced classes:

 Directory of D:\Program Files\SYBASE\Jaguar CTS 3.0\java\classes\powersoft\powerj\net

02/29/00  11:12a        <DIR>          .
02/29/00  11:12a        <DIR>          ..
02/29/00  11:50a                 2,094 FTPInterface.class
02/29/00  11:50a                   483 URLComponents.class
02/29/00  11:50a                11,609 FTP.class
02/29/00  11:50a                 5,457 Internet.class
               6 File(s)         19,643 bytes
---------------------
Now, there are also a powerjd.zip and a powerjr.zip files in the %JAGUAR%\html\classes directory.  I assume that stands for "debug" and "release", respectively.  I have tried copying those files to the %JAGUAR%\java\classes directory.  I have tried renaming the (apparently incomplete ) powersoft directory under the Java/Classes path and copying the powersoft directory from the html\classes path.  I have tried putting the zip files into the environment Classpath, all with no luck.  (In preparing this message for you, I found a typo ("extra dot") in front of the html\classes entry in the classpath, so I got all excited, fixed it, rebooted, tried again... no luck.  None of the changes I make to the classpath variable seem to have any effect at all...).  I am a complete PowerJ novice, so could the problem be on the client side with the way I am including the FTP object class?  I just dragged it from the toolbar and dropped it on the form for the implementation.  There are no import statements in my code.  When I add them, I get messages telling me they're not used.

So, if you're still with me... and I hope you haven't gotten fed up with all this text...  I have a few specific questions:

What relationship does the "Global Classpath" defined in PowerJ  Tool/Options have to Jaguar's Classpath, if any?
What is the difference between the %JAGUAR%\html\classes directory and the %JAGUAR%\java\classes directory?  Which is used when?
When you have directory names in your classpath, how are they searched?  When do Jar and Zip files get searched?  Is it enough to put them
in a classpath directory, or do they have to be explicitly referenced in the classpath variable?  Can you recommend a technical doc/reference/whatever that describes what's going on internally with Jaguar:  what paths are getting searched and when;  what's happening in the Repository, etc., when you do different things like deploy a component, invoke a component, etc.?

Again, thanks for all your help.

"Dave Wolf [Sybase]" wrote:

Thats just how the VM prints the class name.

Is that class in Jaguar's CLASSPATH?

Dave Wolf
Internet Applications Division
 


Dave Wolf [Sybase] Posted on 2000-03-03 14:14:17.0Z
Newsgroups: sybase.public.easerver
From: "Dave Wolf [Sybase]" <dwolf@sybase.com>
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Date: Fri, 3 Mar 2000 09:14:17 -0500
Lines: 236
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0077_01BF84F0.DA338450"
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2919.6600
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
NNTP-Posting-Host: vpn-eme-024.sybase.com 130.214.8.24
Message-ID: <347_L8agQtRh$GA.201@forums.sybase.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_38BC4DFA.DFF14D24@harcourt.com> <347_wPtuTlwg$GA.202@forums.sybase.com> <347_gTYjFG0g$GA.202@forums.sybase.com> <347_38BD5308.E8452345@harcourt.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27233
Article PK: 158143

 

What seems to confound me about Java (and so, by extension, Jaguar) are Classes and Classpaths.  There are just so many classes and in so many places, that I find it difficult to figure out what goes where.

    A CLASSPATH is a list of directories that act as a starting point.  Classes are found using the CLASSPATH.  The VM goes to each directory in the CLASPATH and loads the classes from here down.  So if my CLASSPATH is C:\Temp;. and I want to load com.sybase.Foo, the VM will look in both C:\Temp and the current directory for a file C:\Temp\com\sybase\Foo.class. 

 Now, there are also a powerjd.zip and a powerjr.zip files in the %JAGUAR%\html\classes directory.  I assume that stands for "debug" and "release", respectively. 

Correct.

 I have tried copying those files to the %JAGUAR%\java\classes directory.  I have tried renaming the (apparently incomplete ) powersoft directory under the Java/Classes path and copying the powersoft directory from the html\classes path.  I have tried putting the zip files into the environment Classpath, all with no luck.  (In preparing this message for you, I found a typo ("extra dot") in front of the html\classes entry in the classpath, so I got all excited, fixed it, rebooted, tried again... no luck.  None of the changes I make to the classpath variable seem to have any effect at all...).  I am a complete PowerJ novice, so could the problem be on the client side with the way I am including the FTP object class?  I just dragged it from the toolbar and dropped it on the form for the implementation.  There are no import statements in my code.  When I add them, I get messages telling me they're not used.

So, if you're still with me... and I hope you haven't gotten fed up with all this text...  I have a few specific questions:

What relationship does the "Global Classpath" defined in PowerJ  Tool/Options have to Jaguar's Classpath, if any?

None.  PowerJ manages its own CLASSPATH independant from the CLASSPATH set in the system environment.


What is the difference between the %JAGUAR%\html\classes directory and the %JAGUAR%\java\classes directory?  Which is used when?

%JAGUAR%\html is the HTTP document root.  Anything below this is available for downloads.  For this reason you would generally only place classes here you are willing to let clients download, i.e. stubs.  %JAGUAR%\java\classes is where we reccomend you put server code.  EAS uses a custom ClassLoader that looks in this directory.  I wont go into ClassLoaders because they can even confuse seasoned Java folks (yes they even confuse me!) however the ClassLoader is how we enable the refresh functionality.


When you have directory names in your classpath, how are they searched? 

Directories are searched for as I showed above.  They are starting points and are searched by package where each element of the package is a directory.

When do Jar and Zip files get searched?  Is it enough to put them
in a classpath directory, or do they have to be explicitly referenced in the classpath variable? 

Archives like JAR and ZIP must be fully qualified in the CLASSPATH with the standard ClassLoader in the VM.  So

 

C:\Temp\MyJar.jar

Can you recommend a technical doc/reference/whatever that describes what's going on internally with Jaguar:  what paths are getting searched and when;  what's happening in the Repository, etc., when you do different things like deploy a component, invoke a component, etc.?

Not sure weve ever done this.  Ill make a note (Evan) that we include somehting like this in our internals presentation at Techwave this year.

Dave Wolf
Internet Applications Division 

Again, thanks for all your help.

"Dave Wolf [Sybase]" wrote:

Thats just how the VM prints the class name.

Is that class in Jaguar's CLASSPATH?

Dave Wolf
Internet Applications Division
 


Andrew Hart Posted on 2000-03-01 23:25:02.0Z
Newsgroups: sybase.public.easerver
Date: Wed, 01 Mar 2000 17:25:02 -0600
From: Andrew Hart <Andrew_Hart@harcourt.com>
Organization: The Psychological Corporation
X-Mailer: Mozilla 4.7 [en] (Win95; I)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
Lines: 179
NNTP-Posting-Host: 167.208.175.68
Message-ID: <347_38BDA6CE.18AA8DC@harcourt.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_38BC4DFA.DFF14D24@harcourt.com> <347_wPtuTlwg$GA.202@forums.sybase.com> <347_gTYjFG0g$GA.202@forums.sybase.com> <347_38BD5308.E8452345@harcourt.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27378
Article PK: 158782

Update:
I finally got my EJB deployed to Jaguar using the powersoft\powerj\net\FTP class... By entering the powerj.zip into the JAR target Other Classes options, I guess it stuffs it into that JAR file that gets deployed and allows it to work. Of course, it doesn't answer my question of what's going wrong on the server side in the first place, and is also a waste having to redeploy those classes redundantly (?), but at least it works and I can get on with my life for the moment.

Or, was that what I was supposed to do in the first place???

Dave, if you have the opportunity to look at those questions I posed, I would still be grateful.

Andrew Hart wrote:

> Hi Dave,
>
> Firstly, thanks for all you do here. It is greatly appreciated. I know I have alot of stuff in this message: my apologies if I'm being too verbose. I have some specific questions at the end of this message.
>
> What seems to confound me about Java (and so, by extension, Jaguar) are Classes and Classpaths. There are just so many classes and in so many places, that I find it difficult to figure out what goes where.
>
> I'm on a Windows 95 workstation running Powerbuilder 7.0 (build 6012) and PowerJ 3.0 (build 1483). I'm trying to deploy this component to Jaguar Version 3.0.1 (Build 30031) running in debug mode. ( We also have a 3.5 installation on another machine.) This particular machine is running NT Workstation, and the server is running as an application. (I believe there may have been previous versions of Jaguar installed on this machine, but that predates me.)
>
> Here are the environment variables on the server:
> --------------------
> CLASSPATH=.;D:\Program Files\Sybase\Shared\Sun\jdk117\lib\classes.zip;D:\Program Files\Sybase\Shared\PowerBuilder\classes.zip;D:\Program Files\Jaguar CTS 3.0\html\classes;d:\Program Files\Jaguar CTS 3.0\java\classes;
>
> JAGUAR=D:\Program Files\Sybase\Jaguar CTS 3.0
> JAGUAR_CLIENT_ROOT=D:\Program Files\Sybase\Jaguar CTS 3.0\client
> JDK_LATEST=D:\Program Files\Sybase\Shared\Sun\Jdk118
> JRE_LATEST=D:\Program Files\Sybase\Jaguar CTS 3.0\jre
>
> Path=D:\Program Files\SYBASE\Jaguar CTS 3.0\client\dll;D:\Program Files\SYBASE\SHARED\Open Client\dll;D:\Program Files\SYBASE\SHARED\Open Client\bin;D:\Program Files\SYBASE\SHARED\Sun\JDK117\bin;D:\Program Files\SYBASE\PowerDynamo\win32;E:\ORANT\BIN;D:\Program Files\Sybase\Jaguar CTS 3.0\dll;D:\Program Files\Sybase\Shared\Sun\JDK118\bin;D:\Program Files\Sybase\Shared\PowerBuilder;D:\Program Files\Sybase\Adaptive Server Anywhere 6.0\win32;;C:\PROGRA~1\NETWOR~1\MCAFEE~1
> ---------------------
>
> In the %JAGUAR%\html\classes directory there is a powersoft/powerj/net directory:
>
> Directory of D:\Program Files\SYBASE\Jaguar CTS 3.0\html\classes\powersoft\powerj\net
>
> 10/25/99 04:00p <DIR> .
> 10/25/99 04:00p <DIR> ..
> 07/19/99 02:46p 4,222 BaseSocket.class
> 07/19/99 02:46p 1,266 ConnectionRequestMonitorThread.class
> 07/19/99 02:46p 669 ConnectThread.class
> 07/19/99 02:46p 841 DataArrivalMonitorThread.class
> 07/19/99 02:46p 1,591 DatagramSocket.class
> 07/19/99 02:46p 7,156 FTP.class
> 07/19/99 02:46p 2,094 FTPInterface.class
> 07/19/99 02:46p 1,036 GetHostByNameThread.class
> 07/19/99 02:46p 4,276 HTTP.class
> 07/19/99 02:46p 1,065 HTTPInterface.class
> 07/19/99 02:46p 3,712 Internet.class
> 07/19/99 02:46p 777 SendThread.class
> 07/19/99 02:46p 3,531 ServerSocket.class
> 07/19/99 02:46p 6,178 Socket.class
> 07/19/99 02:46p 588 SocketExceptionCode.class
> 07/19/99 02:46p 1,981 StreamSocket.class
> 07/19/99 02:46p 359 URLComponents.class
> 19 File(s) 41,342 bytes
> ---------------------
> In the %JAGUAR%\java\classes directory there is also a powersoft/powerj/net directory, but I pretty sure that it was put there by me when I selected some options in PowerJ to transfer the referenced classes:
>
> Directory of D:\Program Files\SYBASE\Jaguar CTS 3.0\java\classes\powersoft\powerj\net
>
> 02/29/00 11:12a <DIR> .
> 02/29/00 11:12a <DIR> ..
> 02/29/00 11:50a 2,094 FTPInterface.class
> 02/29/00 11:50a 483 URLComponents.class
> 02/29/00 11:50a 11,609 FTP.class
> 02/29/00 11:50a 5,457 Internet.class
> 6 File(s) 19,643 bytes
> ---------------------
> Now, there are also a powerjd.zip and a powerjr.zip files in the %JAGUAR%\html\classes directory. I assume that stands for "debug" and "release", respectively. I have tried copying those files to the %JAGUAR%\java\classes directory. I have tried renaming the (apparently incomplete ) powersoft directory under the Java/Classes path and copying the powersoft directory from the html\classes path. I have tried putting the zip files into the environment Classpath, all with no luck. (In preparing this message for you, I found a typo ("extra dot") in front of the html\classes entry in the classpath, so I got all excited, fixed it, rebooted, tried again... no luck. None of the changes I make to the classpath variable seem to have any effect at all...). I am a complete PowerJ novice, so could the problem be on the client side with the way I am including the FTP object class? I just dragged it from the toolbar and dropped it on the form for the implementation. There are no import
> statements in my code. When I add them, I get messages telling me they're not used.
>
> So, if you're still with me... and I hope you haven't gotten fed up with all this text... I have a few specific questions:
>
> What relationship does the "Global Classpath" defined in PowerJ Tool/Options have to Jaguar's Classpath, if any?
> What is the difference between the %JAGUAR%\html\classes directory and the %JAGUAR%\java\classes directory? Which is used when?
> When you have directory names in your classpath, how are they searched? When do Jar and Zip files get searched? Is it enough to put them
> in a classpath directory, or do they have to be explicitly referenced in the classpath variable? Can you recommend a technical doc/reference/whatever that describes what's going on internally with Jaguar: what paths are getting searched and when; what's happening in the Repository, etc., when you do different things like deploy a component, invoke a component, etc.?
>
> Again, thanks for all your help.
>
> "Dave Wolf [Sybase]" wrote:
>
> > Thats just how the VM prints the class name.
> >
> > Is that class in Jaguar's CLASSPATH?
> >
> > Dave Wolf
> > Internet Applications Division
> >


Mark Maslow Posted on 2000-03-01 23:44:51.0Z
Newsgroups: sybase.public.easerver
From: "Mark Maslow" <mark.maslow@sierraclub.org>
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Date: Wed, 1 Mar 2000 15:44:51 -0800
Lines: 8
Organization: Sierra Club
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2314.1300
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
NNTP-Posting-Host: machine001.sierraclub.org 207.90.163.1
Message-ID: <347_Pm7M#j9g$GA.251@forums.sybase.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_38BC4DFA.DFF14D24@harcourt.com> <347_wPtuTlwg$GA.202@forums.sybase.com> <347_gTYjFG0g$GA.202@forums.sybase.com> <347_38BD5308.E8452345@harcourt.com> <347_38BDA6CE.18AA8DC@harcourt.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27373
Article PK: 158780

You might find Eric Giguere's page helpful in answering at least some of
your questions:

http://www.synclastic.com/technotes/javadeployment.html


Remus Eserblom Posted on 2000-03-01 08:07:16.0Z
Newsgroups: sybase.public.easerver
From: "Remus Eserblom" <remus_eserblom@hotmail.com>
Subject: Re: Arrgh! Java is an Inscrutable Mystery.
Date: Wed, 1 Mar 2000 09:07:16 +0100
Lines: 9
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2919.6700
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700
NNTP-Posting-Host: ppcremus.sybase.com 158.76.135.81
Message-ID: <347_EfgT$U1g$GA.202@forums.sybase.com>
References: <347_38BC0F49.AB63F9E9@harcourt.com> <347_38BC4DFA.DFF14D24@harcourt.com> <347_wPtuTlwg$GA.202@forums.sybase.com> <347_gTYjFG0g$GA.202@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27446
Article PK: 158845


"Dave Wolf [Sybase]" <dwolf@sybase.com> wrote in message
news:gTYjFG0g$GA.202@forums.sybase.com...
> Thats just how the VM prints the class name.

I'm wonder what's L stands for :))))

/Remus