2008-08-23

Integration of GWT into an Appengine Eclipse project

First: Yes, it is possible to develop GWT code (Java) and Appengine code (Python) in one single Eclipse project if you have installed the corresponding Eclipse plugins :) Thanks to RPC it is also possible to combine both technologies using Appengine to display GWT's AJAX filled with dynamic GAE content.

Execute
./applicationCreator -eclipse yourGAEproject -out yourGAEproject com.yourGAEproject.client.Ajax
in your GAE directory. Add the ".classpath" file to the root of your GAE project filled with the following content:


<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="/opt/gwt/gwt-user.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>


Do not forget to modify the path to gwt-user.jar according to your environment! The modify your existing .project file which can be found in the root directory of your GAE project:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>sol</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
               <buildCommand>
                       <name>org.eclipse.jdt.core.javabuilder</name>
                       <arguments>
                       </arguments>
               </buildCommand>
</buildSpec>
<natures>
<nature>org.python.pydev.pythonNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>


The modifications were marked bold. Now you have to restart your workspace. Afterwards you should be able to launch the GWT development environment from your GAE project. To do this, you have to mark your GAE project and select > Run > Run Configurations > Java Application where you should find yourGAEproject. Run it and enjoy the nifty AJAX effects! :)