2009-06-25 42 views
0

我爲我正在開發的基於Spring的項目編寫了自己的自定義命名空間。該項目使用maven構建,我想將我的xsd文件放在資源目錄中。問題是spring.schemas目錄需要我定義我放置我的xsd文件的位置。在我的開發環境中,它將是resources/schemas/myschema.xsd。但是,當我編譯時,資源的內容被複制到目標,而不是目標目錄本身。所以在編譯的代碼中,我最終得到了target/schemas/myschema.xsd。我的spring.schemas文件應該引用resources/schemas/myschema.xsd嗎?或者只是schemas/xsd?使用Maven Spring自定義命名空間

感謝,

傑夫

回答

1

當創建春自定義空間的spring.schemas文件應位於META-INF像這樣的條目:

http://www.springframework.org/schema /context/spring-context-2.5.xsd=org/springframework/context/config/spring-context-2.5.xsd

您的自定義模式應該是再的src /主/資源/組織/ springframework的/ context/config/到被添加到項目的類路徑中。

任何好的IDE都應該明白src/main/resources/作爲源代碼文件夾並且很好地讀取模式。

注:我把從春天core.jar添加這個例子中,你來就可以檢查它

+0

謝謝你的例子。我確實有這一切工作,但我認爲有一個IDE問題 - 你可以看看我上面發佈的評論嗎?謝謝。 – 2009-06-25 18:42:07

+0

您是否試圖「清理」您的項目?你使用什麼Maven插件? – 2009-06-27 17:05:08

0

您可以在Eclipse中定義鏈接的位置。通過使用變量來定義您的工作空間根目錄,然後創建鏈接文件夾,您可以保持一定的可移植性。

在項目上單擊右鍵,選擇 - >文件夾

調用文件夾 「模式」,點擊高級>>,選擇鏈接文件系統到文件夾

選擇變量...,並挑選WORKSPACE_ROOT變量

將相對路徑添加到您的模式文件夾,例如[項目名稱]/src/main/resources/schemas

當你完成後,你將有一個新的模式文件夾,在角落有一個小箭頭顯示它已鏈接。您可能會發現需要強制刷新以獲取新文件以反映在鏈接的位置。

1

它應該只點模式/ myschema.xsd

目標/資源將在最終的classpath,以便您可以安全地引用所有內容。