2012-07-26 38 views
1

當eclipse(indigo)中的m2e(1.1.0)更新項目配置時,它將更改資源文件夾的條目以排除全部。如何在寫eclipse時獲取m2e插件忽略資源過濾.classpath

<classpathentry excluding="**" kind="src" output="target/classes" path="conf"/> 

但我需要以下的測試運行成功:

<classpathentry kind="src" output="target/classes" path="conf"/> 

我想從我的罐子(例如,license.foo)排除一些資源,但我需要很多的這些文件是在eclipse classpath上啓用測試執行。

解決此問題的正確方法是什麼?

  • 在我的pom中是否有設置org.eclipse.m2e來改變行爲?
  • 我可以向.project/.classpath添加文本以通知m2e它必須保留嗎?
  • 我應該使用配置文件來更改存儲在罐子中的內容嗎?

如何讓你走近這個類的問題? (FYI這類似於MNGECLIPSE-864

感謝

彼得

回答

3

你應該把你需要在運行時

src/main/resources 

,你只需要進行測試,以

資源和資源
src/test/resources 

這是Maven Standard Directory layout,資源將位於類路徑中。

如果您還沒有標準的目錄,你應該使用Maven Build Helper Pluginadd additional (test) resource directories

+0

所以,我是否需要安裝M2E buildhelper連接器,然後只列出建立幫助插件在我pluginManagement部分以確保它由M2E,但不是我的標準構建? – 2012-07-26 18:40:49

+0

什麼是您的_standard_構建?如果您在測試期間需要資源而不在'src/test/resources'中,那麼您的maven構建將會失敗。這不是一個日食問題。爲了使它工作,你可以在build/plugin部分配置你需要的配置build-helper-plugin,並在eclipse中使它無錯誤,你必須關心[生命週期映射](http:// stackoverflow。 com/a/7392705/367285)(安裝連接器將是最好的)。 – FrVaBe 2012-07-26 19:29:32

+0

我在conf/resources被添加到沒有「conf」子目錄的jar頂層的命令行構建和使用「conf /」前綴到資源的eclipse之間有區別。因此,eclipse無法找到資源。我需要把這兩個調整到一致或允許eclipse製作第二個副本。第一種選擇似乎是更好的選擇 – 2012-07-27 18:35:59

0

如果你遇到了這個問題,那麼你可能要問「我爲什麼要Eclipse和命令行Maven來處理不同的資源。」

我認爲這個問題脫胎於保持不需要的項目(例如,許可文件)從運輸罐的願望。然而,由於FrVaBe點出關於測試資源很好地滿足這種需要。

我做了一些通過彙編文件,並勁歌挖掘,找出它們之間的對手規範移動conf目錄到目標/班,忽視了它與原裝進口的光源位置到POM。我解開了複雜性,並且有一個更簡單的pom,以更標準的方式處理資源。

感謝您的幫助

彼得

相關問題