Java server won't run after reboot

Reuben D. Budiardja techlist at voyager.phys.utk.edu
Mon May 31 12:35:49 UTC 2004


On Saturday 29 May 2004 05:44 pm, you wrote:
> That didn't work.  I still get the NoClassDefFoundError.  Any other
> ideas?

You're right !! it doesn't work. I just try this myself, and whenever I try to 
execute from outside the directory where the java files is located, I got the 
same error. I thought I've seen this and what I suggested was the solution, 
obviously not ! (Now it should be obvious that I am not a java developer 
myself, I just play with it sometime)

After some searching myself, I only have this solution:

If for example, my java program is in ~/project/testjava/helloworld.java, I 
can put in helloworld.java:

package project.testjava;
<rest of the src code>

then I need to go to ~, and compile it from there:
javac project/testjava/helloworld.java

and running it from there would work tpp:
java project/testjava/helloworld

The problems with the solution: First, I can't find a way so that I can use 
absolute path during compile and running (which is probably what you want in 
your case, since you're going to put the command in rc.local). So what I want 
is something so that I can say:

javac /home/<username>/project/testjava/helloworld.java
java /home/<username>/project/testjava/helloworld

when I tried, the solution does not work. I can't also figure out what to put 
in after the "package" keyword in the source code to make the absolute path 
work.

Secondly, the source code is dependent on what directory you want to compile 
and run the java program from. Unless I am missing something, that is just 
plain stupid !! Source code of a program should never be dependent on where 
the program is running from.

So that's it. I am kinda stuck right now too. I don't know if that would help 
you, but if you find the real solution, please let me know, cause right now 
it bugs the hell out of me too ! (BTW, I have a task of writing some java 
program in the near future, so this would be good to know).

I know this is going OT, but if anyone else on the list know a solution, 
please help.

RDB


> On Sat, 2004-05-29 at 11:59, Reuben D. Budiardja wrote:
> > On Saturday 29 May 2004 12:16 pm, Michael Sullivan wrote:
<snip>I wrote a java server that I want to start every time
> > > my server PC restarts.  I created a /usr/local/classes directory and
> > > copied Server.class and the support classes it uses there.  Id cd'd to
> > > /usr/local/classes and issued a java Server from there and it works
> > > fine, but if I issue a java /usr/local/classes/Server from anywhere
> > > outside the /usr/local/classes directory it tells me
> > >
> > > Exception in thread "main" java.lang.NoClassDefFoundError:
> > > /usr/local/classes/Server
<snip>
> > Try the following:
> > set the environment variable CLASSPATH to /usr/local/classes so that Java
> > knows where to find your classes. Asumming you're using bash:
> > $> export CLASSPATH=$CLASSPATH:/usr/local/classes
> >


-- 
Reuben D. Budiardja
Department of Physics and Astronomy
The University of Tennessee, Knoxville, TN
---------------------------------------------------------
"To be a nemesis, you have to actively try to destroy 
something, don't you? Really, I'm not out to destroy 
Microsoft. That will just be a completely unintentional 
side effect."
                 - Linus Torvalds -





More information about the redhat-list mailing list