Maven2 WTP version for Eclipse - eclipse

I want to use Maven 2 for buliding Web App using Spring 3.05 and Hibernate 3.6 on Tomcat 6 and JDK 1.6.20
In order to convert Maven WEb Project to Eclipse Web Project I need to use the following command:
mvn -Dwtpversion=[something] eclipse:eclipse
In Maven+ Eclipse documentation I can see that The plugin actually can create WTP R7, 1.0, 1.5 and 2.0 configuration files.
Which version should I use in my case?
What are the other versions need for?
If I check in Eclipse it seems like I have WTP 3.1.1 installed.
Please elaborate.

If you are using m2eclipse - eclipse plugin for maven support, you can import the maven project to eclipse without needing to run maven eclipse plugin. This will save you the trouble of having to specify version.

Related

Eclipse Mars: No entry for Maven under Window-> Preferences

I have Mars2 version of Eclipse in my system. I had installed m2Eclipse to integrate maven with Eclipse from here http://download.eclipse.org/technology/m2e/releases, however, I do not find the option for maven in Eclipse, neither under preferences nor under perspectives. Is there some other version of m2Eclipse to be used with Mars2 or what else can be done to resolve this issue?
Currently, I have Apache Maven 3.3.9 installed in my system along with JRE 1.7. I have other plugins as well like subclipse, beyond compare, JUNIT etc which seems to be installed properly.
Do this:
Right click on your Project --> Select Configure --> Convert to Maven Project
m2eclipse is not required to be installed separately with Mars2. It is by default integrated with it when we download Mars2 binaries. Also, we should be targeting maven 3.3.3, since m2eclipse is version 1.6 which targets maven 3.3.3.
M2eclipse v1.7 targets maven 3.3.9 and is mainly targeted for Eclipse Neon

Where does Eclipse install maven?

As far as I know eclipse ships with maven already installed. But in order to set up my M2_HOME in order to work with maven from the command line I need to know where eclipse stores it?
I don't want to download maven separate and have 2 instances of that on my PC. That can only create headaches.
In Eclipse there is only installed a maven-embedder which is a part of Maven which means you have to install maven for the command line separately.
Maven plugin, uses java implementation for calling maven.
What you can do is download and unzip/untar maven for mvn command-line scripts and bin, later you can configure eclipse to point to your created maven home.
Eclipse Embedded Maven is installed into:
\plugins\org.eclipse.m2e.maven.runtime_XXX
Where XXX - version and timestamp

Eclipse built-in maven support vs M2Eclipse

Has Eclipse 3.7.2 built-in Maven support? How does it differ from m2eclipse?
#EDIT
m2e basic version is bundled with Eclipse 3.7 Java (not yet with Java EE). For the full version one has to install m2e from either its update site or the Marketplace.
List of Indigo (Eclipse 3.7) projects: http://www.eclipse.org/indigo/projects.php
Includes Maven support [new]: http://www.eclipse.org/m2e/
As you can guess by the name it is just m2e bundled with the release (and upped the version number from the external source).
You can install maven eclipse from here - http://download.eclipse.org/technology/m2e/releases/
Note: Sonatype contributed m2e plugin to eclipse. You can read about it here http://www.sonatype.com/people/2011/06/where-is-m2eclipse/

Maven plugin install with Eclipse

I am new to Maven, I have to install maven plugin in eclipse. I am facing some issues in the same, as the inputs I am getting different sites are not working.
I have also gone through existing posts like this, which talks about running the command like :
mvn install:install-file -Dfile=c:\kaptcha-2.3.jar -DgroupId=com.google.code
-DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar
but where do I run this command ??
This site talks about adding as parameter maven.repo.remote like :
maven -DartifactId=maven-eclipse-plugin-plugin -DgroupId=mevenide -Dversion=0.3.1 plugin:download
BUt where are these parameter set ??
Please can someone help me with pointing some good resource, which gives easy steps to install maven plugin in eclipse?
My eclipse version: indigo release, Java EE IDE.
If you are running eclipse Indigo for Java EE you can install the missing m2e plugin this way:
Help-> Install new software -> Work with: Indigo -> General Purpose Tools -> m2e
See also: Where is m2eclipse?
Start with Eclipse Indigo Java EE edition
m2e is the maven integration for Eclipse. Install this plugin in the IDE.
Import maven project if you have any or create a new one
mvn install:install-file is used to install maven artifacts in local repository, if it cannot be automatically downloaded and installed by maven. This is not normally required, but if you have to do this, you can go to Run as -> Run Configurations... and create an appropriate Maven Build configuration.
maveide is not maintained and not to be referred.
In the Indigo release, Maven is already included by the eclipse plugin m2e. At the plugins website, you will find plenty of material. The steps are normally:
Install eclipse with m2e
Install separately a current maven version (depending on what you need, Maven 2.2.x or Maven 3.0.x)
Configure your installed Maven inside Eclipse due to the documentation. Do that in the section Window > Preferences > Maven > Installations. If that is not visible in Eclipse, you first have to install m2e with the normal installation procedure: Help > Install New Software > Work with: Indigo > Filter text: m2e > Collaboration > m2e. Then next, next, next ...
Hope that helps.
Eclipse > Help > Eclipse Marketplace...
Search for m2e
Install Maven Integration for Eclipse (Juno and newer). [It works for Indigo also]

Generate Web Application Project for Eclipse using Maven.

I'm new to this approach. I've used Maven, Tomcat and Eclipse for my web application. But I'm trying the approach where you create a Maven project using an archetype plugin.
My goal is to create a Web Application Project for Eclipse using Maven that can then be imported into Eclipse. I'm pretty sure there is a super-easy way to do this and I want to know what it is.
I'm using Tomcat 6, Eclipse Helios and Maven 2.
I was referring to this 3-part post:
http://united-coders.com/phillip-steffensen/maven-2-part-1-setting-up-a-simple-apache-maven-2-project
But when I imported the project into Eclipse, I couldn't see the Run As > Run on server option.
What is the best way to go about this? Any links to resources that'd help me understand the approach would be great!
My goal is to create a Web Application Project for eclipse using maven that can then be imported into Eclipse. I'm pretty sure there is a super-easy way to do this and I want to know what it is.
Use the maven archetype plugin to generate your project. Here is how to tell it to use the maven-archetype-webapp when invoking it from the command line:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
But when I imported the project into eclipse, I couldn't see the Run As > Run on server option.
It actually all depends on what you use for Eclipse/Maven integration. There are basically two options (and they both provide WTP integration):
the maven-eclipse-plugin which is a Maven plugin that can generate Eclipse files (.project and .classpath and so on) allowing to import the project as Existing projects into Workspace.
the m2eclipse plugin which is an Eclipse Plugin providing Maven integration inside Eclipse and allowing to import a Maven project as Existing Maven projects.
The maven-eclipse-plugin approach
If you use the maven-eclipse-plugin, you have to configure it for WTP support and here is a typical configuration:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
<wtpmanifest>true</wtpmanifest>
<wtpapplicationxml>true</wtpapplicationxml>
<wtpversion>2.0</wtpversion>
<manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest>
</configuration>
</plugin>
With this configuration, running mvn eclipse:eclipse on your maven project will generate the WTP files so that the project can be recognized as a Dynamic project (i.e. runnable on a Server). Then import it via Import... > Existing projects into Workspace.
The m2eclipse approach
If you use the m2eclipse plugin (and that would be my recommendation), make sure to install the Maven Integration for WTP from the extras. From the install instructions:
Installing m2eclipse Extras
To install optional m2eclipse
components, you will need to use the
m2eclipse Extras update site. This
update site contains the following
m2eclipse components:
Maven SCM Integration
Maven SCM handler for Team/CVS
Maven SCM handler for Subclipse
Maven issue tracking configurator for Mylyn 3.x
Maven Integration for WTP
M2Eclipse Extensions Development Support
m2eclipse Extras Update Site: http://m2eclipse.sonatype.org/sites/m2e-extras
And then just import your project via Import... > Existing Maven projects and if it's a webapp, it should get recognized as a Dynamic project.
Indigo: m2eclipse approach for Indigo is different. See Maven/Tomcat Projects In Eclipse Indigo/3.7
Important: Note that both approaches are exclusive, use one or the other. But in both cases, there is no need to add a facet manually if you use them correctly.
Download and install the eclipse maven plugin from here. Create your project using the new project wizard in eclipse. Select Maven project and create the project using the archetype you discussed. Set appropriate source folders and add libraries used as part of project properties. This should set you up for your project.
Very simple,
you only have to create a new Maven project with packaging type ‘war’ and directories creation done automatically