使用Maven为Eclipse生成Web应用程序项目.

DS.*_*DS. 5 eclipse maven-2 eclipse-wtp

我是这种方法的新手.我已经将Maven,Tomcat和Eclipse用于我的Web应用程序.但我正在尝试使用原型插件创建Maven项目的方法.

我的目标是使用Maven为Eclipse创建一个Web应用程序项目,然后可以将其导入Eclipse.我很确定有一种超级简单的方法可以做到这一点,我想知道它是什么.

我正在使用Tomcat 6,Eclipse Helios和Maven 2.

我指的是这个由三部分组成的帖子:

http://united-coders.com/phillip-steffensen/maven-2-part-1-setting-up-a-simple-apache-maven-2-project

但是当我将项目导入Eclipse时,我看不到该Run As > Run on server选项.

最好的方法是什么?任何帮助我理解这种方法的资源链接都会很棒!

Pas*_*ent 9

我的目标是使用maven为eclipse创建一个Web应用程序项目,然后将其导入Eclipse.我很确定有一种超级简单的方法可以做到这一点,我想知道它是什么.

使用maven archetype插件生成项目.以下是如何告诉它使用maven-archetype-webapp从命令行调用它时:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
Run Code Online (Sandbox Code Playgroud)

但是当我将项目导入eclipse时,我看不到Run As> Run on server选项.

它实际上取决于您用于Eclipse/Maven集成的内容.基本上有两个选项(它们提供WTP集成):

  • maven-eclipse-plugin这是一个Maven插件,可以生成Eclipse的文件(.project.classpath等),允许进口项目为现有项目到工作区.
  • m2eclipse的插件,它是一个Eclipse插件提供的Maven集成在Eclipse中,并允许导入Maven项目为现有的Maven项目.

maven-eclipse-plugin方法

如果您使用maven-eclipse-plugin,则必须将其配置为WTP支持,这是典型配置:

  <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>
Run Code Online (Sandbox Code Playgroud)

使用此配置,mvn eclipse:eclipse在maven项目上运行将生成WTP文件,以便可以将项目识别为动态项目(即可在服务器上运行).然后通过导入...>现有项目导入到Workspace中.

m2eclipse方法

如果您使用m2eclipse插件(这将是我的建议),请确保从附加组件安装Maven Integration for WTP.从安装说明:

安装m2eclipse Extras

要安装可选的m2eclipse组件,您需要使用m2eclipse Extras更新站点.此更新站点包含以下m2eclipse组件:

  • Maven SCM集成
  • Team/CVS的Maven SCM处理程序
  • Subclipse的Maven SCM处理程序
  • Myven 3.x的Maven问题跟踪配置程序
  • WTP的Maven集成
  • M2Eclipse扩展开发支持

m2eclipse Extras更新站点: http ://m2eclipse.sonatype.org/sites/m2e-extras

然后只需通过导入...>现有Maven项目导入您的项目,如果它是一个webapp,它应该被识别为动态项目.

Indigo:Indigo的 m2eclipse方法不同.请参阅Eclipse Indigo/3.7中的Maven/Tomcat项目

重要提示:请注意,这两种方法是互斥的,使用一个另一个.但在这两种情况下,如果正确使用它们,则无需手动添加构面.

  • 我将此标记为可接受的答案,因为详细信息并解释了可用于解决手头问题的选项.谢谢! (2认同)