views:

2454

answers:

3

For development and testing purposes I'd like to deploy my webapp from within eclipse to a remote tomcat server. Is this possible ? If not, how should I set up my development environment for smooth and easy remote deployment ?

+2  A: 

You can use Ant FTP task or SCP task for this. You can find here examples.

BalusC
FTP or SSH aren't always an option. Using Tomcat manager is better IMO.
Pascal Thivent
+4  A: 

If you can access the Tomcat manager application remotely then you can use the Tomcat Ant tasks or Tomcat Maven plugin to handle this. Both of these can then be called from within Eclipse.

Using either Ant or Maven also gives you the advantage of being able to deploy from outside of Eclipse. In my experience separating deployment from the IDE is helpful (our sysadmins don't run Eclipse!).

My personal choice is Maven, but Ant is equally capable in this area. I also use Maven profiles to let me easily switch between local/remote deployment (different server, passwords, etc).

Chris Harcourt
+1 for using Tomcat manager through Ant or Maven
Pascal Thivent
+1  A: 

For development and testing purposes I'd like to deploy my webapp from within eclipse to a remote tomcat server. Is this possible ?

The Tomcat support in WTP only works with a local Tomcat. That said, there is a tomcat deployer plugin that can be used to deploy to a remote tomcat (never tested personally).

If not, how should I set up my development environment for smooth and easy remote deployment ?

If you don't like the plugin, then you could use build tools like Ant or Maven, they have good support for remote deployment trough the manager application as pointed out by Chris. I'd just add Cargo to the list (Tomcat remote deployment is only available with the Maven 2 plugin though).

Actually, using a build tool would be a good idea regardless of Eclipse capabilities in my opinion.

Pascal Thivent
Cargo looks interesting. I can see the advantage if you have to deal with lots of different containers.
Chris Harcourt
Indeed. But Cargo can do more than deployment. Cargo can start/stop container programmatically during an automated build (and wait until the container is really started) which is great for any tests that requires a container (e.g. functional testing with Selenium for a webapp and so on). But, in the context of the OP, I think that using the tomcat plugin is fine.
Pascal Thivent