2010-05-19 63 views
17

我剛將一個Spring bean配置文件分解爲更小的外部文件,並使用「import」指令將它們包含在我的Spring Test應用程序上下文XML文件中。使用<import>時發現Spring/Eclipse'引用bean未找到'警告?

但每當我引用豆一個從導入的文件,我得到抱怨「引用豆‘富’找不到」

是,這是一個bug或者就是Eclipse/STS/Spring的XML編輯器內的警告我呢?這真的很煩人,因爲我不想禁用警告,但在我的公司,我們試圖消除所有警告。

回答

23

這真讓我很氣惱!

我不確定何時引入此功能,但隨着更高版本的推出,可以添加此支持。

  1. 右鍵單擊您的項目在春節Explorer視圖
  2. 點擊屬性
  3. 見圖片下面:

alt text

我不明白爲什麼它沒有被選中默認情況下,但它啓用後就像一個魅力!

如果您的版本沒有此選項,我強烈建議下載SpringSource的STS並附帶所有必需的Eclipse插件。

+1

馮尼克的第二種方法工作。我相信這是做到這一點的更簡單,更合適的方式。謝謝! – HDave 2010-05-24 13:52:48

+0

對於進口,這種方法很好。對於僅對配置進行分區(例如,在一個文件中的安全性和在另一個文件中的安全性ACL),VonC的配置集方法起作用。 – 2010-06-07 19:33:17

+0

當引用的bean位於Eclipse中的伴隨項目中時,此解決方案似乎不起作用。試圖添加他們作爲配置集,但沒有喜悅 – Marc 2013-01-29 15:56:32

2

1)嘗試消除所有警告是件高貴的事,但不期望成功。每個項目10個警告是好的,500個不是。 2)說,這不是你的錯誤,這是STS故意丟失的一個功能。故意,因爲他們無法知道你的運行時類路徑是什麼。當然,他們可以解決一些導入語句,但這會是不一致的行爲。總之,我已經學會了這樣的警告住

6

根據this thread,這可能是類似於:

我與春天IDE的Eclipse插件的(當然是化妝品)的問題,我一直未能解決。我有一種情況,上下文文件A和B都是由上下文C導入的.B使用了A中定義的幾個bean,但是由於它們從不獨立使用(僅由C),所以這不是問題。

但是,Spring IDE插件驗證程序將上下文文件B中對A中bean的所有引用標記爲錯誤,表示「引用的bean'foo'未找到bar.xml」。顯然這是一個正確的說法,但在我的用例中,這不是一個錯誤。

有解決這個問題的方法有兩種:

  1. 只有配置與Spring IDE上下文C和讓被導入支持處理的其他文件(A,B)。這樣做不會產生警告。確保你沒有將A和B作爲配置文件添加到Spring IDE中,因爲它們也會被單獨驗證,從而導致出現驗證錯誤。
  2. 爲A,B和C配置配置集,並且不啓用項目的導入處理。
+2

我使用了選項#2,它像一個魅力工作!我一直在想,在Eclipse/Spring項目中config集的價值是什麼。現在我明白了!萬分感謝。 – HDave 2010-05-19 19:14:33

+0

是的,選項#2負責確認警告。沒有涉及任何進口。 – 2010-06-07 19:30:08

+0

選項2也適用於我。謝謝:) – 2018-01-10 13:50:35

相關問題