我有一个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目标吗?
答案 0 :(得分:11)
确保在Eclipse实例中安装了“Maven Integration for WTP”。
首先检查是否可通过
获取如果由于某种原因这不起作用,您可以从此更新站点获取WTP集成(这是我目前使用的版本):
此集成将maven-war-plugin的生命周期映射到m2e架构。
安装完WTP集成后,必须重新启动eclipse,重新启动后,右键单击您的Web应用程序项目,然后选择:Maven->更新项目配置......
此外,我建议此时运行一个干净的版本。
最后但并非最不重要的是,删除并重新创建您的Tomcat服务器配置(我不知道为什么,但是当我切换到m2e时,我必须做很多次。)
答案 1 :(得分:5)
我认为eclipse并没有将您的项目识别为Web应用程序,要确认这一点
打开你的eclipse打开J2ee透视图,如果你打开应用程序的项目文件夹,你应该看到(部署描述符)
如果您没有看到它,就eclipse而言,您的应用不是网络应用
选择项目==>属性==>项目方面==>确保选中动态Web模块复选框
如果您这样做,本地tomcat服务器将在添加删除项目时添加您的应用
答案 2 :(得分:1)
我认为eclipse不会将您的项目识别为Web应用程序,通过命令mvn eclipse将您的项目转换为Web应用程序:eclipse -Dwtpversion = 2.0并尝试在Eclipse中配置tomcat进行部署,它将起作用。
答案 3 :(得分:0)
如果您使用Eclipse 3.5或更高版本,则应确保安装了m2eclipse(m2e 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。