Deployment runthrough on Windows¶
This is an example deployment on a 32-bit Windows 7 host.
See Deployment runthrough for a typical Linux deployment.
See Deployment troubleshooting for notes about Java and Tomcat versions and on things that might go wrong (mostly from a Linux perspective).
Note: If you don't have admin privileges on the Windows host (i.e. can't install to
C:\Program Files it is still possible to do this by installing to your home directory, but several details may change and that setup has not been tested in this runthrough.
1. Obtain the current code from Mercurial repository¶
I use EasyMercurial as my Windows Mercurial client. Use "Open" -> "Remote repository" and provide
https://code.soundsoftware.ac.uk/hg/human-echolocation-java-webapp as the remote repository URL, cloning to a folder called
human-echolocation-java-webapp in my Documents folder. (See screenshot)
2. Install the MATLAB Compiler Runtime¶
Navigate to http://www.mathworks.co.uk/products/compiler/mcr/ and find the download URL. (I am using release R2013b here.) Download and run the installer, accepting its default installation path of
C:\Program Files\MATLAB\MATLAB Compiler Runtime.
3. Install Java, Tomcat, and Ant¶
Navigate to http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html to download (in our case) Java 7 JDK. Run the installer and install to the default path.
Now make sure the JAVA_HOME environment variable points to the JDK just installed, and not to the JRE runtime (this is necessary for use of the Ant build tool later). To do this, go to the Windows Control Panel, search for "environment" and open the environment variable dialog. Add a new user environment variable setting JAVA_HOME to the JDK location. (See screenshot)
Apache Tomcat is a web application server commonly used for Java servlet applications.
Navigate to http://tomcat.apache.org/ and download the "32-bit/64-bit Windows Service installer" for (in our case) Tomcat 7. Again we accept the default path (
C:\Program Files\Apache Software Foundation\Tomcat 7.0). Note that the installer asks you to set a username and password for the Tomcat administrator login -- this is optional, but it will save some configuration later if you set a password now. (See screenshot)
When installation is complete, you will be given the option to start Tomcat -- accept it. You should then be able to open the URL
http://127.0.0.1:8080/manager/html in a browser to see the Tomcat manager page. You will be asked for a username and password to access it -- these should be the same ones you provided during installation.
Apache Ant is the tool used to build the webapp project. (One could install an entire development environment such as Eclipse, as well, but that is beyond the scope of this page!)
Navigate to http://ant.apache.org/bindownload.cgi and download the Zip archive of the current version of Ant. Unpack it anywhere you like, but make a note of the path. I am unpacking it and copying the
apache-ant-1.9.4 folder into
C:\Program Files\Apache Software Foundation next door to Tomcat.
4. Bring dependent JAR files into the webapp folder¶
C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar into the
C:\Program Files\MATLAB\MATLAB Compiler Runtime\v82\toolbox\javabuilder\jar\javabuilder.jar into the
5. Configure the application paths¶
Edit the file
human-echolocation-java-webapp\WebContent\WEB-INF\classes\HumanEcho.properties and set the
outdir properties to appropriate paths.
indir path must be a specific location (
webapps\\echoapp\\WEB-INF\\data) relative to the Tomcat webapp root, and
outdir can be any directory path that does not already exist and that the Tomcat process will have permission to create.
Both paths must have Windows path format (with drive prefix and backslash separator) and the backslashes must be escaped, like so:
indir=C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\webapps\\echoapp\\WEB-INF\\data outdir=C:\\tmp\\wav
6. Build the WAR file bundle¶
Open a Command Prompt window and cd to the
human-echolocation-java-webapp folder. Then run Ant:
C:\Users\Chris\Documents\human-echolocation-java-webapp>"c:\Program Files\Apache Software Foundation\apache-ant-1.9.4\bin\ant" Buildfile: C:\Users\Chris\Documents\human-echolocation-java-webapp\build.xml build: [javac] Compiling 2 source files to C:\Users\Chris\Documents\human-echolocation-java-webapp\WebContent\WEB-INF\classes ir: [copy] Copying 1 file to C:\Users\Chris\Documents\human-echolocation-java-webapp\WebContent\WEB-INF\data build-war: [war] Building war: C:\Users\Chris\Documents\human-echolocation-java-webapp\echoapp.war BUILD SUCCESSFUL Total time: 1 second C:\Users\Chris\Documents\human-echolocation-java-webapp>
7. Deploy the bundle¶
Copy the file
echoapp.war from the
human-echolocation-java-webapp folder into the Tomcat applications folder at
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps.
If the Tomcat service was already running -- as it should have been -- then Tomcat will automatically unbundle and deploy the WAR file. (You should see an
echoapp folder being created automatically in the
webapps folder when you paste in the WAR file.)
Now navigate again to http://127.0.0.1:8080/manager/html in a browser (or reload the page if you already have it open). You should see
/echoapp listed as an application. If it is not running, click the Start button next to it.
8. Test the app¶
Navigate to http://127.0.0.1:8080/echoapp/ in your browser. You should see the Human Echolocation Webapp front page.