GWT and tomcat: Create .war using eclipse to deploy .war on tomcat

Howto compfortably build a correct .war from your GWT-project using eclipse to deploy it to a tomcat server.

There are only two simple steps to take, to build a .war from your GWT project:

Short version:

The first step is building a .jar from your src-folder and putting the .jar into the lib-folder of the .war-folder of your GWT-project. The second step is building a .war-file from your war-folder and deploying the .war to your tomcat server. To make the second step more compfortable, I wrote a little Ant-script, that will create the .war.

More detailed – Step 1:

right_click_src

1) Right-click your projects src-folder (click for larger view)

1) Right-click the src folder inside your project.

popup_export

2) Select "Export" from the PopUp (click for larger view)

2) The following PopUp-menu will appear.

Select “Export …” from this menu.

Select_export_format

3) Select "JAR File" as export-format (click for larger view)

3) Select “JAR file” from the next window

select_export_source_and_target

3) Select export source and target (click for larger view)

4) Make sure, only the “src”-folder of your project is checked in the next window.

Select the export destination like this: <folder of your project>/war/WEB-INF/lib/<projectname>.jar – then click “Finish”

Now your GWT-project is ready to be packed into a .war, that can be deployed to a tomcat server.

More detailed – Step 2:

1) Create a new ANT-script in your project (Right-click your project folder and select “New” and then select “File” from the submenu. Call the new file “warbuilder.xml” or something like this.).

2) Copy the following content into the newly created file. Replace <projectname> with the name of your project:

<project name="<projectname>" basedir="." default="default">
 
	<target name="default" depends="buildwar,deploy"></target>
 
	<target name="buildwar">
		<war basedir="war" destfile="
<projectname>.war" webxml="war/WEB-INF/web.xml">
			<exclude name="WEB-INF/**" />
			<webinf dir="war/WEB-INF/">
				<include name="**/*.jar" />
			</webinf>
		</war>
	</target>
 
	<target name="deploy">
		<copy file="
<projectname>.war" todir="." />
	</target>
 
</project>
run_ant_script

5) Run the warbuilder ANT-script (click for larger view)

3) The first two steps must be done only once. You can reuse the warbuilder.xml and do not have to build it every time. Now simply right-click the “warbuilder.xml” and select “Run As” and “Ant Build” from the PopUp-menu.

The .war-File will be created by this ANT-script. You will find the .war-file in your ProjectFolder.

If you enjoyed this post, make sure you subscribe to my RSS feed!

60 Responses to GWT and tomcat: Create .war using eclipse to deploy .war on tomcat

  • singha says:

    Thanks for your posting. This article ‘s very helpful to me.

  • Rafael says:
  • Nate says:

    Thanks, it appears to be just what I’m looking for to test my new (and first) Tomcat installation. I’ll try it Monday.

    It appears that your script/application puts Time() at Time() in the message headers rather than Date() at Time().

    Therefor I have no idea if this is a thread is still live…

  • Tarek says:

    Thank you ! it work fine

  • shoxx says:

    Good article Everything work fine but I have some problem.. when I open myPage.html it work fine but if I call my project by this url “localhost:8080/myProject/myPage.html”
    I found error 404 can someone solve my problem

    thanks for help. Nuttee From Thailand

  • shoxx says:

    plz forget my problem.. i solution it by mapping servlet in web.xml

  • phot0 says:

    Hi man,
    It looks really nice, but it’s not working here.
    I do everything as said and when I run on tomcat it doesn’t work.
    At chrome debugger it says:
    Failed to load resource: the server responded with a status of 404 (Not Found) :P roject.css
    Failed to load resource: the server responded with a status of 404 (Not Found) :8080/Project/project/servlet?

    and the same for my other servlets

    Any Idea of how to make it work??
    Thankss!

  • Frank says:

    Thank you!

  • joe says:

    It doesn’t seem like creating the .jar from the src folder is necessary. I’m not sure why it’s being done for deployment purposes? None of that code is compiled into either javascript or java. It seems like something that you would do if you were packaging everything into a jar file so that another module could inherit it and that other module would be able to run a debugger and see the source code.

  • AngiSad says:

    Hi,
    I followed your tutorial but I got the message “GWT module needs to be (re) compiled” once i try to access the app.
    Can you tell me what I missed plz?
    Thanx.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Get in contact:

Categories