Eclipse中如何运行Maven项目?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse中如何运行Maven项目?相关的知识,希望对你有一定的参考价值。

先导入,再编译,最后运行。

1、在Eclipse中按File->Import->Existing Maven projects->next。选择你刚才放代码的地方。

其中在选择项目时,选择Existing Maven Projects

2、选择项目所在文件夹:

3、点击finish即可

参考技术A 这一定不是一两句话能说的清楚的,但搜索一下会有很多教程
maven说明、手册上应该也会有

http://blog.csdn.net/athena5555/article/details/3115874

http://blog.csdn.net/guorabbit/article/details/4031288
参考技术B 可以写测试代码 右键点击项目 run as maven test

还可以直接run as on server

如何从 Eclipse 在 Tomcat 中运行 Maven 项目

【中文标题】如何从 Eclipse 在 Tomcat 中运行 Maven 项目【英文标题】:How to run a Maven Project In Tomcat From Eclipse 【发布时间】:2010-10-29 14:44:06 【问题描述】:

我正在运行一个多层次的 Maven 项目。它有 webapps 打包为 WAR,它依赖于打包为 JAR 文件的组件

我所做的大部分代码更改都属于那些 JAR 文件。

为了测试更改,我需要重新打包 JAR 和 WAR 并在外部部署到 tomcat 中。

我尝试使用 sysdeo-tomcat-maven-eclipse 插件,但没有按预期工作。

如果有人有解决这个问题的方法,请告知

谢谢 高拉夫

【问题讨论】:

看起来 eclipse 真的很原始那么如果你需要将它转换为 eclipse web 应用程序或使用一些插件 【参考方案1】:

使用 Maven Eclipse 集成插件

如果您遇到问题,我发现尝试使用命令行工具 mvn 进行调试很有帮助。根据经验,如果它在命令行构建时没有错误,那么您可以在 Eclipse 中运行它(但 tomcat 也有问题,因此您可能需要每隔一段时间清理工作目录并清除缓存)。

除此之外,我真的推荐使用 Maven Eclipse 集成插件!我使用来自 Sonatypes 插件 repo http://m2eclipse.sonatype.org/sites/m2e 的版本。 eclipse repo 上有一个更新的集成,但它的工作方式不同,我还没有时间研究它的用途。

如果您的项目是模块化的,将根项目设置为简单项目(没有 Java,没有 Java EE)可能会有所帮助。然后将子项目作为简单的 Java 项目导入(同样没有 Java EE)。您仍然可以激活依赖管理并通过项目运行构建目标。

您只需要按依赖项选择目标项目所需的子模块。

对于任何构建war文件的项目,激活java ee的facets并在进一步的配置可用下配置上下文根(这只能完成一次,为什么屏幕截图中缺少该选项,所以这样做对)。

然后为您的 facated 项目设置部署程序集。所有同级项目(在您的工作区中处于活动状态)都应该添加到部署程序集中,您还需要将 maven 依赖项构建路径条目 添加到部署程序集。设置完成后,您可以使用 Run on server 指令来启动您的 Web 应用程序。

我发现在编写 maven 项目时始终保持纯 java 模式很有用。 Eclipse 中的任何智能视图都只会掩盖幕后发生的事情,无论如何您都可以通过激活 facated 项目来访问特定的编辑器!

【讨论】:

我不会用任何 maven-eclipse-plugin 指令弄乱我的 POM 文件,它只会掩盖 Eclipse 集成中的问题。我有同事在使用它时完全破坏他们的环境的经验,向他们解释为什么它不起作用以及他们必须做些什么来修复它是一团糟。 感谢 1000 倍!!!我也遇到了同样的问题,部署组件部分配置不正确。 自从我写了这个答案以来,M2e 插件已经集成到 Eclipse 标准更新站点中:download.eclipse.org/releases/indigo (Collaboration/M2e) 我强烈建议在 Webby 中运行 webapps:m2eclipse.sonatype.org/sites/m2e-webby Webby 附带集成码头容器,您可以指定外部容器。 Webby 的好处是它用完了自动构建目录,因此您根本不需要任何部署程序集。所有活动项目都通过构建路径引用,并且通过依赖层次结构进行滴流更新没有任何麻烦。 太棒了,这就是我们在这里寻找的答案!【参考方案2】:

我使用 eclipse webtools 插件,并从中运行我的 Tomcat。它有一个 republish 方法,也可以发布 jars(如果没有,你只需清理目录并重新发布)。

在 pom 文件中,您应该有以下几行,以便自动支持 webtools

<build>
    ...
    <plugins>
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <configuration>
                <wtpversion>1.5</wtpversion>
                ...
            </configuration>
        </plugin>
        ...
    </plugins>
    ...
</build> 

【讨论】:

你能告诉我你从哪里得到这些信息吗?我跟着你的指南,它的工作!谢谢。【参考方案3】:

使用 Maven Eclipse 集成插件和 Web Runner

设置一个 facated 项目(已在另一个答案中描述),使用最新的 Maven Eclipse 集成插件。这应该位于协作下的 Eclipse 版本的更新站点。在我的例子中是 Indigo - http://download.eclipse.org/releases/indigo (/Collaboration/Maven Integration for Eclipse)。

作为内置服务器的替代方案,内置服务器在更新部署程序集(对于 tomcat)中的工作区依赖项时经常失败,我建议使用类似于 maven 指令 jetty 的 Sonatype Web 应用程序启动器 Webby : 运行 maven jetty 插件。您可以在 sonatypes 更新站点上找到插件 M2e Webby - http://m2eclipse.sonatype.org/sites/m2e-webby/ 的插件。安装此插件后,您可以运行配置并从位于project/target/m2e-webby 的自动构建中运行网络应用程序。

我建议将(默认)嵌入式码头容器之一配置为 servlet-api 的提供者。如果必须测试特定的运行时,可以通过浏览到服务器主目录并选择适当的提供程序来轻松配置外部容器。

我遇到的缺点是很小的:

Web 应用程序必须手动关闭,没有“重启”。 每个 Web 应用程序都必须在单独的端口上运行,它们不共享容器实例。

【讨论】:

【参考方案4】:

使用上述配置的当前版本的 m2eclipse 插件,您会收到“无法从 JAR 文件“file:..g/workspace/.metadata/.plugins”中读取 TLD“META-INF/c.tld”错误。

您需要从已部署的项目 lib/ 文件夹中删除 servlet-api.jar 和 jsp-api.jar 以修复上述错误,并设置自定义构建配置,使这两个文件不会复制到部署目录。

【讨论】:

这绝不是 OP 问题的答案。

以上是关于Eclipse中如何运行Maven项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用mac os X在eclipse中运行现有的maven项目

如何在没有 Maven 的情况下同时运行 Eclipse Java 项目的所有 JUnit 测试?

怎么在eclipse里面导入maven?

eclipse再倒入maven项目时报错

ea中带maven的项目怎么发布

eclipse maven程序怎么运行