這裏是我想達到什麼樣的一個小例子:分發XSD文件在多個Maven構件
Maven構件A是許多Web服務之一,並定義了XSD架構與請求和響應 定義。 (src/main/resources/xsd)
工件A取決於工件B,這是一個簡單的JAR項目,包含主XSD的衆多 低級別類型描述。這是在神器B.指定 一次
如果可能的話,我真的很想中(src /主/資源/ XSD)
在僞影的XSD文件使用的類型定義(包括)知道如何包括位於作爲Maven依賴項加載的jar中的xsd文件,以及如何解析NetBeans和Eclipse等IDE中的webservice xsd(和wsdl)。
如果這種方法看起來異乎尋常 - 對於乾淨設計有沒有更好的做法?
更新
首先這裏是我會怎麼想到架構包括工作一個簡單的例子....
Artifact A (WAR Module)
POM:
...
<artifactId>A</artifactId>
...
<dependency>
<artifactId>B</artifactId>
...
</dependency>
Schema:
....
<xs:include schemaLocation="classpath://net/elfwyn/xsd/schema.xsd"/>
....
Artifact B (JAR Module)
Schema Location:
src/main/resources/net/elfwyn/xsd/schema.xsd
似乎有有幾個sollutions對於這樣的問題,但我不知道如何在我的環境中實現它們:
我知道嵌入在(netbeans7.1)IDE(用於開發環境)中的目錄解析器,並且可用作Maven插件(用於生產環境) at應該能夠在模式文件的位置上指定別名。這個別名應該被用作模式位置。
但是我不知道如何指定一個訪問JAR文件中的模式的Catalog.xml。 對我來說,它似乎與直接在模式位置中指定它相同的問題。 還有維護每個戰爭目錄的開銷 - 項目至多我不願意採取,如果可能的話。
關於Maven插件,我還沒有發現任何確鑿的結論。
其他sources正在實施JAX-B, 的背景下,自定義目錄解析器,但我還沒有看到一個可能鉤在Java-WS環境中實現這樣的解析器,以及應如何協同工作與上面提到的Maven插件或IDE目錄解析器...
我仍然沒有時間檢查自己的溶劑,但由於聽起來非常合理,賞金很快就會用完,我會將此作爲正確答案。謝謝! – elfwyn 2012-02-13 07:55:02
@Stefan - 非常感謝,如果您有任何問題,請在這裏留言,我們將全力以赴。 – HDave 2012-02-13 13:48:31
如果你將它綁定到'initialize',有時'target'目錄將不存在。我也遇到了很多問題(在Eclipse中,但也使用'mvn:compile'),可怕的'源碼不能是一個目錄',這是一個5年前的maven bug。無論如何,因爲它是最乾淨的解決方案。 – artbristol 2012-02-20 13:09:18