I have a folder on my desktop titled "Stuff" and in that folder I have the following:
- Hello.java
- mail.jar
And Hello.java imports from mail.jar, so I need to tell Hello.java to look for mail.jar.
From a Windows command line and from a unix command line, how can I compile this and run this?
Compile:
where
;
is for Windows; use:
for *nix.and run:
where again, use
;
for Windows and:
for *nix.-cp
tells bothjavac
andjava
what classpath to use, and as your files are in the local directory where you're executing the command, you can use.
for the Hello part and the name of the jar for the paths inside the jar. Wikipedia has a decent article on classpaths.Mind you, if you're going to be doing this on a regular basis, you may want to set your
CLASSPATH
environment variable rather than constantly using the-cp
flag. Bothjava
andjavac
use theCLASSPATH
variable.For my own development machine, I actually include
.
in myCLASSPATH
variable, for convenience. It's not something I would do on a production or build/test box, but it's very handy for development purposes. You'd want to have your usual jars in it as well.Follow this tutorial and you should be able to do it in no time:
Java Compilation
You also shouldn't have any problems with the classpath because your classes are in the same folder
Assuming Hello.java does not contain a package declaration, on Windows:
The only difference on Unix platforms is that you separate the elements of the classpath with a scolon instead of a semicolon: