Next: How to invoke javadoc on a package, Previous: Importing a package from another package, Up: Packages in J.T.W. and Java [Contents][Index]
When your class X uses another class Y in a different file
then you need to add to the build target of your Makefile
which is initially like so:
build: clean
to what follows:
build: clean Y.java
If your class Y is in another package such as the class
~/jtw-tutorials/path/to/dir/Y.class i.e. in the package
path.to.dir then you need to add to the build target of your
Makefile like so:
build: clean path/to/dir/Y.java
This process should be repeated for every class that is called,
directly or indirectly from your main class X. By applying this
process to every file in your package, you can build an entire
package, simply by invoking the Makefile command make build.
To actually compile and run the X class, let
~/jtw-tutorials/path2/to/dir/X.class be the location of the
X class. Then you need to invoke the following Makefile
target:
make build path2/to/dir/X.run
The build target calls the "clean" target which deletes all
*.java and *.class files directly or indirectly in the
folder ~/jtw-tutorials. If you don’t do this then java
might run an old version of *.class files despite earlier errors
in the build process. This is because the use of pipes in building and
executing *.class files hides the return values of the programs
javac and java.