First things first: I have changed my mind (in a small way) on the JavaDoc recommendation. If you have your source files in directories that correspond to the packages, it turns out to be *much* easier if you simply copy all of them to some temporary directory and run javadoc.exe on all of them at once. Here is a reminder on the (recommended) usage: javadoc -d .\docs -public *.java or, if your CLASSPATH environment variable has not been set: javadoc -classpath hurtzcommon.jar;. -d .\docs -public *.java This creates a "docs" subdirectory of the current directory and instructs javadoc to put the html documentation files in there. Note that javadoc works like javac in that it will create a directory structure for the html files that corresponds to their packages. This at least, is true for most operating systems and user profiles. I have not seen this under UNIX, but it seems as though under some configurations/versions of Windows, the directory is not created automatically. If this is the case for you, you may receive an error message like the following: javadoc: Destination directory not found .docs 1 error In this case, create the directory manually: mkdir docs The -public option instructs javadoc to only generate documentation text for public methods and variables (you do not have to provide comments for your public variables, however). Below is a snapshot of what javadoc creates for my own implementation of this project. Note that you will have different file names in many instances (TransientRentalInventorySearchEngine vs. FleetingInventorySearchEngine) , and in others you may not even have a corresponding class (e.g. ServerRequestWrapper). docs + stylesheet.css + package-list + allclasses-frame.html + allclasses-noframe.html + constant-values.html + deprecated-list.html + help-doc.html + index.html + index-all.html + overview-frame.html + overview-summary.html + overview-tree.html + packages.html + serialized-form.html + edu | + cod | + cis218 | + client | + ActionPanel.html | + CriteriaPanel.html | + LocalSearchEngineProxy.html | + package-frame.html | + package-summary.html | + package-tree.html | + RemoteSearchEngineProxy.html | + HurtzAgentTerminal.html | + ResultsPanel.html | + SearchAgentListener.html | + SearchEngineProxy.html | + SearchFrame.html + common | + Car.html | + Criteria.html | + CriteriaImpl.html | + CriteriaValidationException.html | + package-frame.html | + package-summary.html | + package-tree.html | + ServerRequestWrapper.html + server + AbstractRentalInventorySearchEngine.CarComparator.html + AbstractRentalInventorySearchEngine.html + ClientHandler.html + HurtzFileSearchEngine.html + HurtzTempSearchEngine.html + package-frame.html + package-summary.html + package-tree.html + HurtzServer.html + HurtzDBCreator.html Once you create the html docs, it is easy to zip them as a single file. From the "docs" directory, execute: jar -cvf docs.zip . This will create a "zip" file with all the javadoc html files in it. That's right: jar and WinZip are compatible.