【问题标题】:Tomcat integration in Eclipse with mavenEclipse中的Tomcat与maven的集成
【发布时间】:2013-02-11 17:06:11
【问题描述】:

我正在尝试将 Maven 集成到我的网络项目中。我想用 mvn tomcat7:run 运行项目,但是当我这样做时,maven 在 MyProject/target/tomcat 中创建新的 tomcat 配置,并且当我尝试在 localhost 上打开它时出现 404 错误。谁能描述我应该如何配置 maven 以使用本地预配置的 tomcat 实例?

【问题讨论】:

    标签: eclipse maven tomcat


    【解决方案1】:

    Maven 使用 mvn tomcat7:run 在本地创建 Tomcat 配置,因为您在 /target 目录之外运行 webapp,目的是使正在运行的 webapp 与任何外部配置隔离。例如,如果您需要应用自定义 Tomcat 配置,那么 Maven 需要事先修改 Tomcat 配置。由于文件系统权限,这可能是不可能的,或者可能会影响其他 web 应用程序。因此 Maven 将配置复制到本地,应用任何自定义配置并通过 tomcat7-maven-plugin 启动 Tomcat。

    一种选择是查看maven-cargo-plugin,它可以将使用Maven 构建的.war 部署到现有的运行Tomcat 安装中。使用正确的configuration,或者使用mvn tomcat7:run,您将使用mvn cargo:redeploy 删除正在运行的webapp 并将其替换为您新构建的webapp。

    作为替代方案,可以将 Eclipse 配置为启动 Tomcat 实例以在其中运行 webapp。如果您将 Eclipse 项目类型更改为 Dynamic Web Project,然后通过执行以下操作将 Tomcat 实例添加到 Eclipse:

    • 窗口 → 首选项 → 服务器 → 运行时环境
    • 添加 → Apache Tomcat v7.0

    并指向它执行您下载的 Tomcat。 Eclipse 将使用这个 external Tomcat 作为模板来为您的 webapp 创建一个 internal Tomcat 配置。最后,需要配置 webapp 以将正确的资源和库部署到 Tomcat 中。通过右键单击项目根 → 属性 → 部署程序集,更改列表以匹配您的资源位置。标准设置可能类似于

    /src/main/java       |   /WEB-INF/classes
    /src/main/resources  |   /WEB-INF/classes
    /src/main/webapp     |   /
    Maven Dependencies   |   /WEB-INF/lib
    

    【讨论】:

    • 关于替代方案:你能详细说明一下吗?
    • 你能解释一下如何在没有cargo插件的情况下配置eclipse吗?实际上我试图理解为什么 Maven 在项目目标中创建 TOmcat 配置。据我了解,它不应该这样做。
    • 更新了更多关于 Tomcat Eclipse 配置的信息。
    • 谢谢,但我之前有相同的配置,并没有解决问题。当我运行tomcat7时:运行本地服务器没有启动,但eclipse说它启动了。
    • cmets数量有限制,所以自动出现abiut chat消息,我没写。请看这个问题stackoverflow.com/questions/14836571/…
    猜你喜欢
    • 2014-08-07
    • 2020-09-08
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多