[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Executing java applications



"HK" ==   <hajk@xs4all.nl> writes:

  HK> I'm running Debian-Linux 1.2.6 with Java support, to be able to
  HK> run Java applications (not applets). My little test program
  HK> Welcome.java is supposed to write a short message to the screen;
  HK> it compiles successfully with guavac (it says so), resulting in
  HK> Welcome.class. But then what?

First off, the Java support in the kernel doesn't mean that the kernel
can execute Java bytecode. It just means that the kernel can recognize
the magic number for a java class and call the java interpreter. You
still need to have a java interpreter installed for it to work.

  HK> First, Welcome.class isn't executable. After fixing that, an
  HK> error message complains that it can't find /usr/bin/java -- and
  HK> sure enough, it isn't there, and neither is /usr/bin/guava.

javac (or guavac) isn't normally supposed to produce executable
programs, just a data file for a java interpreter. It's just hacks in
the linux kernel that allow you to 'run' class files. So it doesn't
really know it needs to set the x bit. The reason /usr/bin/java
doesn't exist is because you don't have a java interpreter
installed. guavac doesn't include one - it's only a compiler.

  HK> Am I missing something? Is Debian-Linux missing something? Must
  HK> we only run applets (e.g. under Netscape)? Would appreciate some
  HK> help on this.

Install kaffee or or the java development kit (jdk-static or
jdk-shared). Both of them contain java interpreters and you'll have
/usr/bin/java and be able to run java classes, either through the
kernel support, or by runnning "java Welcome.class" (Which is what the
kernel does - the 'support' was just put in there because someone
thought it would be fun to say Linux has support for java executables
:)

-Larry




--
  Larry Daffner        |  Linux: Unleash the workstation in your PC!
  vizzie@airmail.net / http://web2.airmail.net/vizzie/
	Ray's Rule of Precision:
	    Measure with a micrometer.  Mark with chalk.  Cut with an axe.


Reply to: