I hit the wall as soon as I start to use it. When I tried to get rid of all eclipse project files (e.g. .project and .classpath) by using mvn eclipse:clean command, I regreted 2 minutes afterward. It was because once the command mvn eclipse:eclipse finished, I switched back to Eclipse, imported the project once again and then added the project to Tomcat, Eclipse prompt me a message "There are no projects that can be added or removed from the server". No matter what I tried to do, like adding "EAR Libraries", "Web App Libraries" and even "Tomcat Server Runtime Library", it does not help a bit. And I could not find a single hint from the net to solve it.
After struggling a whole day, I looked at the eclipse maven plugin. I found the solution.
Since Eclipse is using WTP for web project, and Eclipse needs the WTP configuration in order to recognise it is a web project. If you create a dynamic web project from Eclipse, it works nicely. However, it does not work when you start your project using maven. In order to enable WTP using maven, first we have to add maven-eclipse-plugin and make sure the version of maven-eclipse-plugin is specified (2.6 is the latest version at the moment). Then we have to put a configuration property <wtpversion> and set it to either 1.0, 1.5 or 2.0. Other setting like none or R7 does not work. So here is my setting:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.6</version>
<configuration>
<buildOutputDirectory>src/main/webapp/WEB-INF/classes</buildOutputDirectory>
<downloadJavadocs>true</downloadJavadocs>
<downloadSources>true</downloadSources>
<wtpversion>2.0</wtpversion>
</configuration>
</plugin>
There are other settings like <wtpmanifest>, <wtpapplicationxml>, <manifest>. But they are not necessary in order to deploy to Tomcat. This trick also apply on other server like glassfish.
After I put the setting in, it works nice and sweet!
The environment:
Eclipse 3.4
Maven 2.0.8
maven-eclipse-plugin 2.6
Tomcat 5.5, 6.0
Glassfish v3-prelude
MacOSX 10.5
For more information: http://maven.apache.org/plugins/maven-eclipse-plugin/index.html
