deploy my project directly without copying always the war file - eclipse

I'm running a web application with maven + spring mvc + spring data jpa with apache tomcat in eclipse.
I want to deploy my application without opening eclipse and run tomcat inside it, so i have to export my project into war and copy it into apache-tomcat-7.0.42\webapps directory and it's working good.
My problem is that i want to work directly into apache-tomcat-7.0.42\webapps with eclipse so like that i don't have to export my war file after every changes in my code.

Just configure the Tomcat as server in eclipse and run the project from eclipse.
To configure tomcat in eclipse:
In Eclipse, go to Windows->preferences->Servers->runtime Environment, add tomcat here.
To run the project from eclipse:
right click project in Eclipse's project explorer and select->run as->run on server. select the tomcat you configured.

Related

Convert Dynamic Web Project to Maven = deployment empty

I have a Dynamic Web Project, that is deployed to a Tomcat server by Run As > on Server. The Project has WebServices WSDL, which work fine this way.
But I want to convert to maven/pom. So I use eclipse and choose "convert project to maven".
Afterwards, when I again choose > Run on Server, the tomcat deploy dir is empty!
What is changing exactly when converting to maven project, and how can I fix the deployment process again?
My advice would be to use the Maven Tomcat plugin:
http://tomcat.apache.org/maven-plugin.html
This way, you can create a Maven Run Configuration in Eclipse that compiles and deploys your app to Tomcat with one button click. There is also a Jetty server plugin.

Deploying GWT app to tomcat in eclipse

I want to use tomcat server in development mode with GWT. When I use embedded Jetty it deploys application to the current directory(where my war folder is located). So it generates all the files there. How can I configure eclipse to use tomcat server and all the deployment stuff to be copied to tomcat webapps directory. I have tried to use -noserver option in Run conigurations, but it doesn't copy any resource from war directory to server deployment directory.
Can I use tomcat server in such manner?
P.S. i want to solve this problem withou ant or maven
Using my own server in development mode instead of GWT's built-in Jetty instance
You will need to copy the contents of the WAR folder over, but only once.
Have you looked at Eclipse WTP? It allows deploying to a server right from within Eclipse.
For a GWT project, you'd then, in addition, follow that recipe: http://code.google.com/eclipse/docs/faq.html#gwt_in_eclipse_for_java_ee

deploying a war file in WTP(Eclipse) tomcat server

I have a maven build Java project.
My war file name is: test-1.0-SNAPSHOT.war
I am using M2E plugin in Eclipse.
I have run target mvn package.
Added server as tomcat version 7 in eclipse indigo 3.7. Server started. But my war file didn't deployed in the server.
I have tried by right clicking tomcat server and Add remove..., it says "there is no resources that can be added or removed from the server".
How can i deploy my war file in the eclipse WTP tomcat server?. Do i need to run any maven target?
Make sure that you have "Maven Integration for WTP" installed in your Eclipse instance.
First check if it's available through
Window->Preferences->Maven->Discovery->Open Catalog
If for whatever reason this does not work, you can get WTP integration from this update site (that's the version I am currently using):
https://repository.sonatype.org/content/repositories/forge-sites/m2eclipse-wtp/0.13.0/S/0.13.0.20110623-0455
This integration does a lifecycle mapping of maven-war-plugin into m2e architecture.
Once you've installed the WTP integration, you must restart eclipse and once it's restarted, right click on your web app project and choose: Maven->Update Project Configuration...
Also, I would advise to run a clean build at this time.
Last, but not least, delete and recreate your Tomcat server configuration (I don't know why, but I had to do it quite a few times when I switched to m2e).
I think eclipse is not recognizing your project as a web app, To confirm this
Open to do open J2ee perspective on your eclipse, If you open the project folder of your app, You should see (Deployment Descriptor)
If you don't see it, your app is not web app as far as eclipse is concerned
I have see this in case if you imported/created a maven command line project
To fix this
Select Project ==> Properties ==> Project Facets ==> make sure Dynamic Web Module check box is checked
If you do that the local tomcat server will add your app when do add remove projects
I think eclipse is not recognizing your project as web app,convert your project into web app by command mvn eclipse:eclipse -Dwtpversion=2.0 and try to deploy in Eclipse configured tomcat,it will work.
If you have Eclipse 3.5 or above you should ensure that you have both the m2eclipse (m2e for 3.7) plugin installed and its WTP add-on. With these you shouldn't need to change your configuration by hand.
Did you try to build your project from the command line and deploy it in Tomcat by hand?
By the way, have you read this wiki post? It's a bit old, but it may still be relevant.
Adding 2 cents to Prasanna wonderful solution.
I realized that building maven war files "mvn package" was just creating .war file but eclipse was not picking up that war but was deploying its some internal version of it's app war.
I found that server > Browse Deployment Location.. in Eclipse server view .. it was taking to some abstract location like "C:\Programs\workspaceSTS.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps"
Where I could see my exploded app deployed but it was not having any /classes folder just limited files.
Using Prasanna's method I realized that eclipse now was deploying full exploded .war now.
So this was happening coz changing the facets to Dynamic Web Module has actually populated "R-click project > Properties > Deployment Assembly "
This Web Deployment Assembly window only tells eclipse what to deploy and what not. So even if your project is NOT setup as Dynamic Web Module , and still if you configure "Web Deployment Assembly" values properly , eclipse will deploy the app fine to Tomcat/ Server.

Maven/Jetty to Maven/Tomcat Project

I have a project that I created with the Maven Archetype plugin and I added the Maven Jetty plugin so I can run the jetty server with "mvn jetty:run-war".
Now I have to change my project so that it integrates with Eclipse and Tomcat. I remember working on some projects which when I clicked the Tomcat button from the Sysdeo Eclipse Tomcat Launcher plugin, it would automatically compile the new code, deploy it to the Tomcat's webapp folder, and start the Tomcat server for you. Using tomcat also allows us to use the integrated Eclipse debugger.
How do I get that effect with my current Maven/Jetty setup without re-creating the entire project over again and starting it as a Tomcat project?
You can try using Tomcat Maven Plugin. It has similar goals to the jetty plugin. You just need to add the plugin configuration to your existing pom and make no additional changes.

How to set Tomcat or JBOSS or Glassfish as App-Server for GWT Web Project in eclipse

How to create and run GWT web project in eclipse with tomcat or another app-server?
I created a Gwt Project and when i run or debug it, eclise did use GWT hosted mode server.
I can not find and configuration in project properties to select tomcat or another server for the project/
Regards
In the GWT Run/Debug configuration of the project you want to run/debug, tab Main, deselect the "Run built-in server" option. After that, it's your responsibility to generate the html/js/images of the GWT module you want to run, and place them somewhere where Tomcat or JBoss can see them. That usually means deploying a war at least.