ModjyWarPackaging

Version 3 (Alan Kennedy, 03/22/2009 10:18 pm)

1 1
h1. Modjy WAR packaging
2 1
3 1
h2. Why WAR deployment.
4 1
5 1
When you deploy WSGI web applications in a java servlet container, such as "Apache Tomcat":http://tomcat.apache.org or "Glassfish":https://glassfish.dev.java.net/ , there are two different ways you can deploy
6 1
7 3 Alan Kennedy
 # You deploy your application using a particular directory structure. This directory structure is described in detail on the [[ModjyDeployment|modjy deployment]] page.
8 1
 # You can deploy your application as a single file. This file is a "WAR file":http://en.wikipedia.org/wiki/WAR_file , and actually is an archive of the same directory structure described above.
9 1
10 1
So, if your application is working correctly when deployed as a directory structure, then building a WAR file is a very simple extra step.
11 1
12 1
h2. How to build a WAR file.
13 1
14 1
First, build the directory structure of your application. If you're not certain how to build this structure, a simple way forward is to take the demo *modjy_webapp* directory from the jython distribution, and tweak that structure to meet your needs.
15 1
16 3 Alan Kennedy
When you're happy with the contents of the directory hierarchy, execute a command like this, in the top level of your web applications directory hierarchy, e.g. the *modjy_webapp* directory.
17 1
18 1
<pre>
19 1
$JAVA_HOME/bin/jar cvf WARNAME.war .
20 1
</pre>
21 1
22 1
Where WARNAME is the name of the WAR file you want to create, and $JAVA_HOME refers to the location where your JDK or JRE is installed.
23 3 Alan Kennedy
24 3 Alan Kennedy
This will create a file called *WARNAME.war*, which is your web application contained in a single file.
25 3 Alan Kennedy
26 3 Alan Kennedy
h2. How to deploy a WAR.
27 3 Alan Kennedy
28 3 Alan Kennedy
Now that you have a single file containing your web application, you simply need to copy that file to the directory in your servlet container where web applications should reside. 
29 3 Alan Kennedy
30 3 Alan Kennedy
On Apache Tomcat, the default deployment directory is called *webapps*. Simply drop your WAR file in there, and Tomcat will automatically deployment.
31 3 Alan Kennedy
32 3 Alan Kennedy
On other containers, this directory will be different; you should read your documentation to see where3 you should place your WAR file.
33 1
34 1
h2. Django WAR packaging.
35 1
36 1
There is a dedicated page for [[ModjyAndDjango|django and modjy]].
37 1
38 1
h2. Pylons WAR packaging.
39 1
40 2 Alan Kennedy
There is a dedicated page for [[ModjyAndPylons|django and pylons]].