2011-09-20 107 views
4

我有一個maven構建Java項目。 我的戰爭文件名是:test-1.0-SNAPSHOT.war 我在Eclipse中使用M2E插件。 我已經運行目標mvn包在WTP(Eclipse)中部署war文件tomcat服務器

在eclipse indigo 3.7中添加了tomcat版本7的服務器。服務器啓動。但我的戰爭文件沒有部署在服務器上。

我嘗試了通過右鍵單擊tomcat服務器和添加刪除...,它說「沒有資源可以添加或刪除從服務器」。

我該如何在eclipse WTP tomcat服務器中部署我的war文件?我需要運行任何Maven目標嗎?

回答

5

我認爲日食是不承認你的項目作爲一個Web應用程序,爲了證實這一點

  • 開做開放的J2EE的角度來看待你的eclipse,如果你打開你的應用程序的項目文件夾,你應該看到(部署描述符)enter image description here

  • 如果你沒有看到它,你的應用是不是Web應用程序儘可能日食而言

  • 我看到這個情況下,如果您導入/創建一個maven命令行項目
  • 爲了解決這個問題
  • 選擇項目==>屬性==>項目構面==>確保動態Web模塊複選框被選中

    enter image description here

  • 如果你這樣做了本地的Tomcat服務器會增加您的應用程序時,不要添加刪除項目

+0

偉大的小費。我也不得不按照這一步:http://www.mkyong.com/eclipse/eclipse-ide-tomcat-version-6-0-only-supports-j2ee-1-2-1-3-1-4-和-java-ee-5-web-modules/ – cowls

+0

這對maven項目不起作用。這會創建一個附加的WEB-INF文件夾,它不遵循maven文件夾結構。 –

+0

+1「您應該看到(部署描述符)」評論。當我在項目瀏覽器中展開我的應用程序時,我沒有在J2EE Perspective中顯示它。 – supernova

0

如果你的Eclipse 3.5或以上,你應該確保你有兩個m2eclipsem2e爲3.7)插件安裝和它的WTP加載項。有了這些,您不需要手動更改配置。

您是否嘗試從命令行構建項目並手動部署到Tomcat中?

順便問一下,你看過這個wiki post?這有點舊,但它可能仍然相關。

11

確保您的Eclipse實例中安裝了「適用於WTP的Maven集成」。

首先檢查它是否可以通過

  • 窗口 - >首選項 - > Maven->發現 - >打開目錄

如果出於某種原因,這是不行的,你可以得到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)。

+0

打了2個小時後,我發現了你的評論。我安裝了WTP和M2E,但沒有安裝m2e-wtp。我嘗試了一切,除了一件小事(被遺忘)之外。 Tomcat的行爲就像它根本沒有進行部署。現在,在添加m2e-wtp之後,一切都像魅力一樣。 –

+0

@PiotrekDe。謝天謝地,這一切都是用開普勒JEE捆綁預包裝。 –

1

我認爲日食是不承認你的項目作爲Web應用程序,將您的項目到Web應用程序的命令MVN日食:日食-Dwtpversion = 2.0,並嘗試在Eclipse Tomcat配置部署,它會工作。

0

增加2美分,收於人員Prasanna妙解。 我意識到,建設Maven的戰爭文件「MVN套裝」剛創建的.war文件,但是Eclipse並沒有拿起那場戰爭,但被部署其內部的一些版本中它的App戰爭。

我發現該服務器>瀏覽部署位置..在Eclipse服務器視圖..它採取了一些抽象的位置,如「C:\程序\ workspaceSTS.metadata.plugins \ org.eclipse.wst.server.core \ tmp1 \ wtpwebapps「

我在哪裏可以看到我的爆炸應用程序已部署,但沒有任何/ classes文件夾只是有限的文件。

使用人員Prasanna的方法,我意識到,現在Eclipse正部署全面展開的.war現在。 因此,這是怎麼回事怎麼把改變方面來實際上填充「R-點擊項目>屬性>部署大會」 這Web部署大會窗口只告訴日食什麼部署和什麼不可以動態Web模塊。因此,即使您的項目沒有設置爲動態Web模塊,並且仍然可以正確配置「Web部署程序集」值,eclipse會將該應用程序部署到Tomcat/Server。 enter image description here