我的目标是使用 maven 为 Eclipse 创建一个 Web 应用程序项目,然后可以将其导入 Eclipse。我很确定有一种超级简单的方法可以做到这一点,我想知道它是什么。
使用 maven 原型插件生成您的项目。下面是如何告诉它在从命令行调用它时使用maven-archetype-webapp:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
但是当我将项目导入 Eclipse 时,我看不到 Run As > Run on server 选项。
这实际上完全取决于您用于 Eclipse/Maven 集成的内容。基本上有两种选择(它们都提供 WTP 集成):
-
maven-eclipse-plugin 是一个 Maven 插件,可以生成 Eclipse 文件(.project 和 .classpath 等)允许将项目作为现有项目导入 Workspace。
-
m2eclipse 插件,它是一个 Eclipse 插件,在 Eclipse 中提供 Maven 集成并允许将 Maven 项目作为现有 Maven 项目导入。
maven-eclipse-plugin 方法
如果你使用maven-eclipse-plugin,你必须为WTP support配置它,这是一个典型的配置:
<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>
使用此配置,在您的 maven 项目上运行 mvn eclipse:eclipse 将生成 WTP 文件,以便可以将项目识别为动态项目(即可在服务器上运行)。然后通过 Import... > Existing projects into Workspace 将其导入。
m2eclipse 方法
如果您使用 m2eclipse 插件(这是我的建议),确保从 extras 中安装 Maven Integration for WTP。来自install instructions:
安装 m2eclipse Extras
安装可选的 m2eclipse
组件,您将需要使用
m2eclipse Extras 更新站点。这
更新站点包含以下内容
m2eclipse 组件:
- Maven SCM 集成
- Team/CVS 的 Maven SCM 处理程序
- Subclipse 的 Maven SCM 处理程序
- Mylyn 3.x 的 Maven 问题跟踪配置器
- 用于 WTP 的 Maven 集成
- M2Eclipse 扩展开发支持
m2eclipse Extras 更新站点: http://m2eclipse.sonatype.org/sites/m2e-extras
然后只需通过 Import... > Existing Maven projects 导入您的项目,如果它是一个 webapp,它应该被识别为一个动态项目。
Indigo: Indigo 的 m2eclipse 方法不同。见Maven/Tomcat Projects In Eclipse Indigo/3.7
重要提示:请注意,这两种方法都是互斥的,请使用一种或另一种。但在这两种情况下,如果使用正确,则无需手动添加构面。