2011-10-05 59 views
0

我有幾個常見的資源文件,比如基本JS,CSS文件和HTML文件,這些文件將被兩個maven項目/模塊使用。我已經將這些文件移到了一個通用項目&,其中包括對兩個項目的依賴關係。常見的項目是作爲jar文件發佈的,我不想從jar文件提供文件(使用ClassLoader的東西)。在eclipse中發佈另一個項目的資源文件到上下文路徑而不是jar文件

有沒有一種方法,使複製的共同項目資源,因爲它是進入實際的項目情況下的文件夾,如:

COMMON_PROJECT/src/main/webapp/login.htmlWEBAPP1/src/main/webapp COMMON_PROJECT/src/main/webapp/login.htmlWEBAPP2/src/main/webapp

實際需求:我不想將公共文件作爲jar文件發佈,因爲後來這些文件將被移出war文件並直接放在Ngnix服務器中。在某些方面可以提供更好的管理指導嗎?

回答

0

我試着用@Eugene Kuleshov回答插件,但插件與最新的m2e版本有依賴關係問題。

經過一番搜索,m2e-wtp插件(更新站點:http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/)支持確切的網頁疊加功能。

這需要最新m2e插件(1.0 +)(更新站點:http://download.eclipse.org/technology/m2e/releases/

安裝m2e-wtp後,我們需要從m2e目錄

  • Window > Preferences > Maven > Discovery > Open Catalog
  • 安裝buildhelper生命週期映射器安裝Lifecycle mappings > buildhelper

只有在這些m2em2e-wtp插件的最新版本,weboverlays支持(老的Maven構建我們在Project properties > Builders看到的是不能夠這樣做的)

然而,與正常Maven構建,覆蓋摸出盒子。默認情況下,當Maven構建項目時,Maven war插件(不是eclipse插件)會將資源文件從dependency war(也是jar)複製到上下文路徑中。如果我們想要對這個過程有更多的控制,就需要overlay,就像一些排除在外。

2

使用Maven,您可以將您的通用項目聲明爲依賴關係,因此可以在其他項目中共享其資源。您將不得不使用最新的m2eclipse插件與WTP集成到support overlays in Eclipse IDE

+0

謝謝。我得到'缺少要求:擴展m2eclipse和eclipse webtools 0.1.0.201004101956(org.maven.ide.eclipse.wtp.ext.feature.feature.group 0.1.0.201004101956)需要'org.maven.ide.eclipse.wtp [ 0.10.0,0.11。0)',但是在安裝插件時找不到',我嘗試了一些舊版本,就像在某些問題中所說的那樣,但沒有運氣。任何幫助? – manikanta

+0

您的評論向我展示了正確的方向,最終尋找了新版本的'm2e'和'm2e-wtp'插件。我已經添加了細節作爲答案。感謝 – manikanta

0

您可以提供您的資源文件作爲戰爭項目。 然後使用Warpath Plugin使您的兩個項目導入戰爭(及其資源)。

+0

這個插件,將從Eclipse構建也發佈覆蓋? – manikanta

+0

從未嘗試從IDE。我只是添加更改配置文件。新文件和重寫文件在生成的戰爭中。 – YMomb

相關問題