在WTP(Eclipse)tomcat服务器中部署war文件

时间:2011-09-20 08:38:50

标签: eclipse tomcat maven

我有一个maven build Java项目。 我的war文件名是:test-1.0-SNAPSHOT.war 我在Eclipse中使用M2E插件。 我已经运行了目标 mvn包

在eclipse indigo 3.7中添加了服务器作为tomcat版本7。服务器启动了但是我的war文件没有部署在服务器中。

我试过通过右键单击tomcat服务器并添加删除...,它说“没有可以从服务器添加或删除的资源”。

如何在eclipse WTP tomcat服务器中部署war文件?我需要运行任何maven目标吗?

5 个答案:

答案 0 :(得分:11)

确保在Eclipse实例中安装了“Maven Integration for WTP”。

首先检查是否可通过

获取
  • Window->偏好设置 - > Maven-> Discovery->打开目录

如果由于某种原因这不起作用,您可以从此更新站点获取WTP集成(这是我目前使用的版本):

https://repository.sonatype.org/content/repositories/forge-sites/m2eclipse-wtp/0.13.0/S/0.13.0.20110623-0455

此集成将maven-war-plugin的生命周期映射到m2e架构。

安装完WTP集成后,必须重新启动eclipse,重新启动后,右键单击您的Web应用程序项目,然后选择:Maven->更新项目配置......

此外,我建议此时运行一个干净的版本。

最后但并非最不重要的是,删除并重新创建您的Tomcat服务器配置(我不知道为什么,但是当我切换到m2e时,我必须做很多次。)

答案 1 :(得分:5)

我认为eclipse并没有将您的项目识别为Web应用程序,要确认这一点

  • 打开你的eclipse打开J2ee透视图,如果你打开应用程序的项目文件夹,你应该看到(部署描述符)enter image description here

  • 如果您没有看到它,就eclipse而言,您的应用不是网络应用

  • 如果您导入/创建了maven命令行项目
  • ,我会看到这种情况
  • 要解决此问题
  • 选择项目==>属性==>项目方面==>确保选中动态Web模块复选框

    enter image description here

  • 如果您这样做,本地tomcat服务器将在添加删除项目时添加您的应用

答案 2 :(得分:1)

我认为eclipse不会将您的项目识别为Web应用程序,通过命令mvn eclipse将您的项目转换为Web应用程序:eclipse -Dwtpversion = 2.0并尝试在Eclipse中配置tomcat进行部署,它将起作用。

答案 3 :(得分:0)

如果您使用Eclipse 3.5或更高版本,则应确保安装了m2eclipsem2e for 3.7)插件及其WTP插件。有了这些,您不需要手动更改配置。

您是否尝试从命令行构建项目并手动将其部署到Tomcat中?

顺便问一下,你读过这个wiki post吗?它有点旧,但它可能仍然相关。

答案 4 :(得分:0)

为Prasanna增加2美分的精彩解决方案。 我意识到构建maven war文件“mvn package”只是创建.war文件,但是eclipse没有接受那场战争,但正在部署它的应用程序之战的一些内部版本。

我发现服务器>在Eclipse服务器视图中浏览部署位置..它正在进入一些抽象的位置,如“C:\ Programs \ workspaceSTS.metadata.plugins \ org.eclipse.wst.server.core \ tmp1 \ wtpwebapps”

我可以看到部署了我的爆炸式应用程序,但它没有任何/ classes文件夹只是有限的文件。

使用Prasanna的方法我意识到eclipse现在正在部署完全爆炸的.war。 所以这种情况正在发生变化,因为动态Web模块实际填充了“R-click项目>属性> 部署程序集” 此 Web部署程序集窗口仅告知eclipse要部署什么以及不部署什么。因此,即使您的项目未设置为动态Web模块,并且仍然正确配置“Web部署程序集”值,eclipse仍会将应用程序部署到Tomcat / Server。 enter image description here