M
mkn
Hello,
I have a weird problem: I wrote written a fairly simple Swing skeletal
application in Eclipse, compiled it to *.class files and moved it to
the target machine to test it. It worked just as expected so I added
some more stuff to it and moved it to the target machine again (and
again).
To my surprise running java -cp .\lib.jar;.\ RasDialer showed the
old application. Well, I cleared the project, recompiled, removed and
the result was still the same.
To figure out whether I had done something utterly silly I decompiled
the main class (where I had made some simple changes to buttons etc)
in the target workstation and the class was exactly as it should have
been - so it was compiled ok. I rebooted the computer to clean the
table. Still I get EXACTLY the same result whatever I do. As an
example the original main file had
setTitle("Swing App");
and I changed it to
setTitle("RAS Dialer Test");
and I can still see "Swing app" in the window title bar BUT "RAS
Dialer Test" in the decompiled class. If I rename the RasDialer.class
to xxx.class I will get the correct error message telling me that the
RasDialer class could not be found. This proves the fact that JRE is
at least trying to load the class from the correct file.
Where on EARTH is JRE fetching the classes from? What should I do? I
have done quite a bit of Java programming in the past but now I feel
pretty helpless. What is it that has changed? Does JRE cache the
classes in an uknown place or what? I feel like an idiot (which I may
very well be). As for the app it is using one external .jar and
one .dll file but these should not have any effect on the main class
loading, should they?
Markku
I have a weird problem: I wrote written a fairly simple Swing skeletal
application in Eclipse, compiled it to *.class files and moved it to
the target machine to test it. It worked just as expected so I added
some more stuff to it and moved it to the target machine again (and
again).
To my surprise running java -cp .\lib.jar;.\ RasDialer showed the
old application. Well, I cleared the project, recompiled, removed and
the result was still the same.
To figure out whether I had done something utterly silly I decompiled
the main class (where I had made some simple changes to buttons etc)
in the target workstation and the class was exactly as it should have
been - so it was compiled ok. I rebooted the computer to clean the
table. Still I get EXACTLY the same result whatever I do. As an
example the original main file had
setTitle("Swing App");
and I changed it to
setTitle("RAS Dialer Test");
and I can still see "Swing app" in the window title bar BUT "RAS
Dialer Test" in the decompiled class. If I rename the RasDialer.class
to xxx.class I will get the correct error message telling me that the
RasDialer class could not be found. This proves the fact that JRE is
at least trying to load the class from the correct file.
Where on EARTH is JRE fetching the classes from? What should I do? I
have done quite a bit of Java programming in the past but now I feel
pretty helpless. What is it that has changed? Does JRE cache the
classes in an uknown place or what? I feel like an idiot (which I may
very well be). As for the app it is using one external .jar and
one .dll file but these should not have any effect on the main class
loading, should they?
Markku